Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/321.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么函数equals在Java中返回错误_Java_Object - Fatal编程技术网

为什么函数equals在Java中返回错误

为什么函数equals在Java中返回错误,java,object,Java,Object,我在java中有一个类Objekt,在这个类中我编写了一个函数来检查对象,其他类中的对象的序列号,我不断得到.equals错误。我想知道这是因为我写了字符串函数,序列号是int还是我写错了什么。所以任何想法都是受欢迎的 boolean obstaja = false; for(PoslovniProstor pp : this.PoslovniProstori) { if(pp.getEvidenca().equals(poslovniProstor.getEvi

我在java中有一个类Objekt,在这个类中我编写了一个函数来检查对象,其他类中的对象的序列号,我不断得到.equals错误。我想知道这是因为我写了字符串函数,序列号是int还是我写错了什么。所以任何想法都是受欢迎的

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的某些方面是多么奇怪和不一致!