我在Java编程方面有一个问题

2025-05-20 16:26:56
推荐回答(4个)
回答(1):

上面的是两个对象比较,你没有让Value 类重写equals方法,和hashCode方法,所以比较时采用默认规则,所以为false,你可以读源代码Object是怎么比较的.
而下面一个是Integer类,己经覆盖了Object类的equals,hashCode方法,所以数据相同的话返回true
你读一下源码,就明白了!

回答(2):

嗯 让我研究一下

回答(3):

第一个里,你是变量得比较用==就可以了,第二个是对象的比较。所以结果不同。一个是对象,另外一个是变量,两者不同,所以结果不同

回答(4):

支持一楼的~!