为什么我可以这样做:
TreeSet<Object> treeSet = new TreeSet<Object>();
treeSet.add(new Object());
但不是这个:
final List<Object> objects = new ArrayList<Object>();
Collections.sort(objects);
第一个给我一个 ClassCastException 但第二个给我一个编译错误。据我了解,两种情况下的实际问题是相同的:java.lang.Object
没有实现Comparable接口。
更新:嗯,出于某种原因,这只适用于 Java 7 而不是 6。我是愚蠢还是疲倦?有人可以对此有所了解吗?
更新#2:根据java版本,我得到不同的结果。请看图片: