我不明白爲什麼我得到一個Unchecked cast from Object to Compareable<Object>
,因爲它位於僅輸入區域內,如果該實例是可比較類型的。有人可以向我解釋這個,也許給一個解決方案,謝謝。爲什麼「未選中...」
我的代碼看起來像這樣。問題是,在8號線和9:
public int compare(Object one, Object two) {
if (one instanceof Vector && two instanceof Vector) {
Vector<? extends Object> vOne = (Vector<?>)one;
Vector<? extends Object> vTwo = (Vector<?>)two;
Object oOne = vOne.elementAt(index);
Object oTwo = vTwo.elementAt(index);
if (oOne instanceof Comparable && oTwo instanceof Comparable) {
Comparable<Object> cOne = (Comparable<Object>)oOne;
Comparable<Object> cTwo = (Comparable<Object>)oTwo;
if (ascending) {
return cOne.compareTo(cTwo);
} else {
return cTwo.compareTo(cOne);
}
}
}
return 1;
}
是的,重複的。這個問題接受的答案直接解決了這個問題。 –