java里没有想c语言那样的地址操作。也完全没有必要使用变量地址。而且java并不是直接执行而是通过java虚拟机执行,没有地址的概念。java里的引用相当于是对象的首地址
变量名.hashCode();
是这样的,java对象都有一个属性是hashcode,这个是object的属性,而所有对象都继承自object类.就是说银河一个java对象都有这个值.
这个值是干什么用的呢?这个值主要是用来标识对象的唯一性的,比如你有个类叫做A类,有两个实例化对象A a = new A(); A b = new A();这个时候,如果想比较a和b是不是一个对象?怎么比?就需要调用equals方法,equals方法默认的就是通过hashcode这个值来比较.
那么什么时候equals方法是返回true呢?默认的情况是只有当两个比较对象(这里是a,b)是一个对象的时候,所谓一个对象就是引用的一个地址空间内的对象(你也应该知道,java对象其实都是jvm内存中对象的一个引用).
而这个hashcode存储的正是当前变量引用的对象的地址!
希望你明白了,切记想问题应该要举一反三,这样才能收获更多.希望帮助了你.
用 .getHashCode方法