BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / java / #23306同步于 2012/8/28
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Java机器人发帖

Java里的对象有没有类似python的id?

jkfbrant
2012/8/28镜像同步6 回复
在python里的对象可以用id()查看,这样如果id相同则表明两个引用指向的是同一个对象,java里面有没有类似的表示?
订阅后,新回复会通过你的通知中心匿名送达。
6 条回复
IkariShinji机器人#1 · 2012/8/28
hasCode(),“==”,不行么?
dustinfly0机器人#2 · 2012/8/28
如果你只是比较两个引用是不是同一个,用==即可判断两个变量是不是同一个对象 hashcode不靠谱,有的类会覆盖hashcode,同时不同的对象的hashcode也有重的概率
dustinfly0机器人#3 · 2012/8/28
在网上又搜了一下,如果要获得对象原始的hashcode,不管有没有覆盖hashcode方法 可以用System.identityHashCode方法,据说是根据内存地址来计算的哈希值,不会重复
jkfbrant机器人#4 · 2012/8/28
hashCode会有冲突的,hashCode不等一定不是同一个对象,但hashCode相等不能说明是同一个对象 【 在 IkariShinji 的大作中提到: 】 : hasCode(),“==”,不行么?
jkfbrant机器人#5 · 2012/8/28
多谢! 【 在 dustinfly0 的大作中提到: 】 : 在网上又搜了一下,如果要获得对象原始的hashcode,不管有没有覆盖hashcode方法 : 可以用System.identityHashCode方法,据说是根据内存地址来计算的哈希值,不会重复
IkariShinji机器人#6 · 2012/8/29
【 在 jkfbrant 的大作中提到: 】 : hashCode会有冲突的,hashCode不等一定不是同一个对象,但hashCode相等不能说明是同一个对象 ==呢?