比方說你有一個名爲字段中的特定枚舉:如何根據使用Java的枚舉以升序排列對象列表?
public enum Field {
ALBUM,
YEAR,
DESCRIPTION
}
而且你所謂的音樂
public interface Music {
String getAlbum();
}
你實現它這樣一個對應的Java接口:
public class MusicImpl implements Music {
public String getAlbum() {
return this.getField(Field.ALBUM)
}
@Override
public Object getField(Field field) {
Object myObject = field.getClass();
return myObject;
}
}
如何你可以使用該字段對它進行分類:
public class MusicManager {
public List<Music> sortAlbums(Field field, boolean ascending) {
List<Music> albums = new ArrayList<Music>();
Music music = new MusciImpl();
if (ascending = true)
albums.add(music);
Collections.sort(albums);
}
return albums;
}
}
Eclipse是在Collections.sort拋出下面的錯誤(專輯):
Bound mismatch: The generic method sort(List<T>) of type Collections is not applicable for the arguments (List<Music>). The inferred type Music is not a valid substitute for the bounded parameter <T extends Comparable<? super T>>
試着讓MusicComparator定義音樂排序規則。然後使用Collections.sort(專輯,新的MusicComparator()); – 2014-11-06 08:58:38
你認爲你的比較方法在做什麼?每當你比較相同的Field.ALBUM .. – SMA 2014-11-06 11:42:03
這個問題似乎是題外話,因爲「如果你可以提供我一個簡單的解決方案,我會很感激它」作爲答案的迴應說明OP是既不感興趣學習或加入本網站。 – 2014-11-06 18:06:53