Bax*_*tex 0 java interface compareto comparable
public int compareTo(Person p) {
int res = 1;
String personStr = p.getId();
String thisId = this.getId();
if(thisId.equals(personStr)){
res = 0;
}
else if(thisId.compareTo(personStr)){
res = -1;
}
return res;
}
Run Code Online (Sandbox Code Playgroud)
我已经实现了一个非常简单的compareTo方法,但是我没有收到错误消息.如果statemint中的条件给我一条消息,说它不能从int转换为boolean.我明白了,但问题是我正在使用netiher.我只是想比较两个简单的字符串,为什么会这样呢?
你应该注意的是接口'compareTo'返回一个int'public int compareTo'作为符号
如果语句依赖于布尔值,则使用thisId.compareTo(personStr)将返回一个整数,就像您正在创建的方法一样.
你的第一个if语句很好 - 'equals'返回一个布尔值.然而,第二个没有,它可能会返回-1,0或1.