java中无与伦比的类型

use*_*374 2 java

我有这个代码,我得到一个错误incomparable types: java.lang.String and int,这行代码 if ((this.name.String.compareTo(obj.name == 0)) && (this.age = obj.age))

方法是这样的:

public int compareTo(Object o)
{
    int result;
    AnyClass obj = (AnyClass)o;
    if ((this.name.String.compareTo(obj.name == 0)) && (this.age = obj.age))
    {
        result = 0;
    }
   else if (this.name.compareTo(obj.name) > 0)
    {
        result = 1;
    }
    else
    {
        result = -1;
    }
    return result;
}
Run Code Online (Sandbox Code Playgroud)

Paw*_*żyk 6

我认为你的支架位置不正确,

this.name.String.compareTo(obj.name == 0)) 
Run Code Online (Sandbox Code Playgroud)

obj.name == 0是您可能将String(name)与int(0)进行比较的地方.我想你想在obj.name上使用compareTo然后检查它是否等于零.

我也认为在第二部分

(this.age = obj.age)
Run Code Online (Sandbox Code Playgroud)

你想使用==而不是=,所以我认为你想要使用的代码是:

((this.name.compareTo(obj.name)==0) && (this.age == obj.age))
Run Code Online (Sandbox Code Playgroud)