※ 引述《tkcn (小安)》之銘言:
: ※ 引述《tsya (tsya)》之銘言:
: : public int compareTo(Object o1){
: : }
: : 請問紅色地方
: : 為何需要刻意宣告是Object
: : 然後cast成PsObj 呢?
: : 我的意思是這樣
: 因為這只是個 Interface,
: 在設計 Interface 的時候不知道使用者真正要用的哪種物件,
: 不過自從 1.5 之後增加了 generic,
: 現在的寫法應該不是這樣了。
只回這一段, 不需要刻意宣告是 Object 的方法:
public class PsClass implements Comparable<PsClass> {
/**
* 要比較的數值
*/
private int value;
/*
* (non-Javadoc)
*
* @see java.lang.Comparable#compareTo(java.lang.Object)
*/
public int compareTo(PsClass arg0) {
return arg0.value - this.value;
}
}
這樣一來,把 compareTo 的參數宣告成 PsClass 來比較就可以了
疑,本討論串首篇不就用了相同的方法嗎?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.115.205.85