基本上我試圖創建一個單一的列表,當添加到,將檢查基於枚舉(背景,前景,覆蓋)的元素位置,並相應地將其添加到列表中。基於位置訂購清單;背景,前景,覆蓋
我很確定我可以用Comparable接口來做到這一點,但我不知道從哪裏開始! Comparable將返回一個整數,直到現在,我還沒有能夠準確理解這個整數代表什麼...
謝謝你們!
基本上我試圖創建一個單一的列表,當添加到,將檢查基於枚舉(背景,前景,覆蓋)的元素位置,並相應地將其添加到列表中。基於位置訂購清單;背景,前景,覆蓋
我很確定我可以用Comparable接口來做到這一點,但我不知道從哪裏開始! Comparable將返回一個整數,直到現在,我還沒有能夠準確理解這個整數代表什麼...
謝謝你們!
由compareTo(T o)
方法返回的整數是:
o
等於this
this
小於o
this
的正數大於o
負數看到ja vadoc可比:
http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html
謝謝!所以我正確地假設我可以根據枚舉(Background,Foreground,Overlay)命名位置來比較我的組件:@Override public int compareTo(CanvasComponent o){ return o.position.ordinal() - position .ordinal(); } –
@TFC看起來很明智。 – Aurand
對於可比整數,取兩個對象'x'和'y'。如果'x == y',整數是0,如果'x> y'大於0,如果'x
「int」結果決定了兩個被比較的對象之間的權重匹配,如果結果是「<0」,則表明被比較的對象具有「較小」的權重,「0」表示它們相等並且「> 0 '會表明被比較的對象具有「更大」的重量。這應該意味着如果你希望A出現在B之前,那麼你可能會返回一個值<0。如果你想以另一種方式,那麼你會返回一個值'> 0' ... – MadProgrammer