为什么Java中的两个对象不同?
我知道要使对象在Java中唯一,我必须实现为什么Java中的两个对象不同?,java,Java,我知道要使对象在Java中唯一,我必须实现hashcode()和equals()方法 但是,当我们从一个类创建两个对象时,为什么这两个对象不同呢 public class ClassA { public static void main(String []arg) { ClassA classa = new ClassA(); ClassA classb = new ClassA(); //here classa and classb
hashcode()
和equals()
方法
但是,当我们从一个类创建两个对象时,为什么这两个对象不同呢
public class ClassA {
public static void main(String []arg) {
ClassA classa = new ClassA();
ClassA classb = new ClassA();
//here classa and classb are not equal. Why?
if(classa == classb) //returns false
}
}
=
操作员检查对象的内存地址classa
和classb
是不同的对象,它们有不同的内存地址,因此classa==classb
返回false。因为new
创建了一个。。。新对象。将它们与方法equals()
@Maroun No进行比较。我想知道原因。如果我们创建了相同的两类对象,为什么不使用==
或比较引用类型呢=代码>。请改用equals(…)
方法。了解==
检查两个对象引用是否相同,这不是您感兴趣的。另一方面,equals方法检查这两个引用在功能上是否等效,这就是这里的问题所在。“不,我想知道为什么。”
——请理解,在这个网站上已经多次询问并回答了这个问题()。如果你觉得你的问题是新的或不同的,那么你应该展示你的研究成果,并说明你的问题与其他问题不同的原因。如果你在提出问题之前还没有投入这项关键的努力去做一个体面的搜索,那么你可能是过早地提出了这个问题。