为什么函数equals在Java中返回错误
我在java中有一个类Objekt,在这个类中我编写了一个函数来检查对象,其他类中的对象的序列号,我不断得到.equals错误。我想知道这是因为我写了字符串函数,序列号是int还是我写错了什么。所以任何想法都是受欢迎的为什么函数equals在Java中返回错误,java,object,Java,Object,我在java中有一个类Objekt,在这个类中我编写了一个函数来检查对象,其他类中的对象的序列号,我不断得到.equals错误。我想知道这是因为我写了字符串函数,序列号是int还是我写错了什么。所以任何想法都是受欢迎的 boolean obstaja = false; for(PoslovniProstor pp : this.PoslovniProstori) { if(pp.getEvidenca().equals(poslovniProstor.getEvi
boolean obstaja = false;
for(PoslovniProstor pp : this.PoslovniProstori)
{
if(pp.getEvidenca().equals(poslovniProstor.getEvidenca()))
{
obstaja = true;
break;
}
}
这个颜色用红色表示,我从中获取对象的类是posloviniprostor,我在这个类Objekt中创建了一个ArrayList,称为posloviniprostori
public ArrayList<PoslovniProstor> getPoslovniProstori(){
return this.PoslovniProstori;
}
public ArrayList getposloviniprostori(){
返回这个.posloviniprostori;
}
所以,是的,欢迎任何帮助D由于int是一种基本类型,因此必须使用==而不是.equals()对其进行比较。
equals
方法和=
运算符有单独的用例。简而言之,equals
用于检查值的相等性,无论=
是否用于检查相同的引用。
在您的情况下,正如您所说的证据a
是int,那么,要将一个int
与另一个int
进行比较,请使用=
运算符
有关更多详细信息,您可以检查此线程,以及
getenvica()
返回的值的类型?可能是某种原始类型。原语使用==
进行比较,对象使用equals()
进行比较。您编写了“序列号(证据)为int”int
没有equals
方法。使用==
而不是时不时地提醒我们Java的某些方面是多么奇怪和不一致!