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;
}
一個非常簡單的compareTo方法,但我沒有收到錯誤消息。如果statemint中的條件給了我一個消息,說它不能從int轉換爲布爾值。我明白了,但問題是我正在使用netiher。我只想比較兩個簡單的字符串,爲什麼會發生這種情況?Java CompareTo方法狀態我無法將int轉換爲布爾值,即使它們都未被使用
啊,現在我明白了... * palmslap。過了漫長的一天。我只是設置thisId.compareTo(personStr)== -1){... 它工作正常。 – Baxtex
我們都擁有它們,不要強調。 –
@Baxtex最好使用'thisId.compareTo(personStr)<0' - 理論上說,compareTo可以返回除-1,0或1之外的其他東西 - 比如說-5。 – assylias