例:Object a="hello";
System.out.println(a);
结果为:hello
打印Object会自动调用toString,不应该打印哈希码值吗?(还是小白,这里不是很懂)
很简单啊。因为a="hello"是一个常量。而且对于字符串类型是一种特殊的引用类型,输出字符串类型的变量时,都是输出内容,而不是地址。
关于System.out.println(str)打印的是字符串值,而不是地址的问题:https://blog.csdn.net/yuxinganggame/article/details/105524649
如有帮助,请采纳。点击我回答右上角【采纳】按钮。
JAVA程序打印对象都是自动调用toString方法,所以我们经常要重写对象的toString方法。
java的动态绑定原理,调用的为当前对象的toString()方法, 打印结果不再是哈希码
Object类的hashCode.返回对象的内存地址经过处理后的结构,由于每个对象的内存地址都不一样,所以哈希码也不一样。