比方说你有一个名为字段中的特定枚举:如何根据使用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