2013-10-03 35 views
0

基本上我試圖創建一個單一的列表,當添加到,將檢查基於枚舉(背景,前景,覆蓋)的元素位置,並相應地將其添加到列表中。基於位置訂購清單;背景,前景,覆蓋

我很確定我可以用Comparable接口來做到這一點,但我不知道從哪裏開始! Comparable將返回一個整數,直到現在,我還沒有能夠準確理解這個整數代表什麼...

謝謝你們!

+0

對於可比整數,取兩個對象'x'和'y'。如果'x == y',整數是0,如果'x> y'大於0,如果'x

+0

「int」結果決定了兩個被比較的對象之間的權重匹配,如果結果是「<0」,則表明被比較的對象具有「較小」的權重,「0」表示它們相等並且「> 0 '會表明被比較的對象具有「更大」的重量。這應該意味着如果你希望A出現在B之前,那麼你可能會返回一個值<0。如果你想以另一種方式,那麼你會返回一個值'> 0' ... – MadProgrammer

回答

0

compareTo(T o)方法返回的整數是:

  • 0如果o等於this
  • 如果this小於o
  • 如果this的正數大於o負數

看到ja vadoc可比:

http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html

+0

謝謝!所以我正確地假設我可以根據枚舉(Background,Foreground,Overlay)命名位置來比較我的組件:@Override public int compareTo(CanvasComponent o){ return o.position.ordinal() - position .ordinal(); } –

+0

@TFC看起來很明智。 – Aurand