zoukankan      html  css  js  c++  java
  • Java基础之:toString与hashCode

    Java基础之:toString与hashCode

    hashCode()

    方法返回:返回根据地址生成的十进制哈希值。

    1)两个引用,如果指向的是同一个对象,则哈希值肯定是一样的!

    2)两个引用,如果指向的是不同对象,则哈希值是不一样的

    3)哈希值主要根据地址号来的!, 不能完全将哈希值等价于地址。

    toString()

    方法返回:全类名 + @ + 哈希值的十六进制。

    子类经常会重写toString()方法,用于显示各对象信息

    当直接输出一个对象时,默认调用toString方法。

    例如:System.out.println(a); ===> System.out.println(a.toString());

     

    简单案例

    package object;
    
    public class Hashcode_toString {
    
    	public static void main(String[] args) {
    
    		A a = new A("小范");
    		System.out.println(a);	//重写toString	
    		
    		B b = new B();
    		System.out.println(b.toString()); // 没有重写toString,返回 对象类型与十六进制hashCode
    		System.out.println(b.hashCode()); // 输出十进制hashCode
    		// toString源码:
    		/*
    		 * public String toString() {
            		return getClass().getName() + "@" + Integer.toHexString(hashCode());
        	   }
        	   
        	   getClass():返回对象的运行类型,特别有用!(因为运行类型是可变了,会经常出现变化。)
    		 */
    		
    		//getClass():
    		Object string = new String("hello");
    		System.out.println(string.getClass());	
    	}
    
    }
    
    /**
     * @author FSH
     *
     */
    class A{
    	
    	private String name;
    
    	public A(String name) {
    		super();
    		this.name = name;
    	}
    
    	public String getName() {
    		return name;
    	}
    
    	public void setName(String name) {
    		this.name = name;
    	}
    
    	@Override
    	public String toString() {
    		return "A [name=" + name + "]";
    	}
    	
    }
    
    class B{
    	
    }

    在之前的 "Java基础之:构造方法(构造器)与this关键字" (https://www.cnblogs.com/SongHai/p/14037087.html)中,this关键字的第一个案例中也讲到了关于hashCode与toString。

  • 相关阅读:
    ★《唐琅探案》后记【2】
    ★《唐琅探案》后记【2】
    《OD学hadoop》第一周0625 LINUX作业一:Linux系统基本命令(一)
    《OD学hadoop》第一周0626
    《OD学hadoop》mac下使用VMware Fusion安装centos
    《OD学hadoop》第一周0625
    《OD学hadoop》第二阶段Java编程基础
    《OD学hadoop》Linux基础
    《OD学hadoop》Hadoop前置
    《OD学算法》常用算法集合
  • 原文地址:https://www.cnblogs.com/SongHai/p/14120844.html
Copyright © 2011-2022 走看看