import java.util.*;
class Student {
private int id;
private String name;
Student(int id,String name){
this.id=id;
this.name=name;
} public int getId(){
return id;
}}class TreeSet3
{
public static void main(String args[]){
TreeSet tr=new TreeSet();
tr.add(new Student(123,"小张"));
Iterator aa=tr.iterator();
while (aa.hasNext())
{
Student bb=(Student)aa.next();
System.out.println(bb.getId());
}
}
}这是代码,编译后;存不上元素;求解答下。
class Student {
private int id;
private String name;
Student(int id,String name){
this.id=id;
this.name=name;
} public int getId(){
return id;
}}class TreeSet3
{
public static void main(String args[]){
TreeSet tr=new TreeSet();
tr.add(new Student(123,"小张"));
Iterator aa=tr.iterator();
while (aa.hasNext())
{
Student bb=(Student)aa.next();
System.out.println(bb.getId());
}
}
}这是代码,编译后;存不上元素;求解答下。
因为TreeSet是一个Sorted set,排序的依据就是Comparable的compareTo方法
另外你就算一个元素不需要comparable,又有什么意义?
如果你想知道为什么,只能这么说,当TreeSet看到一个元素时,不会去转换成Comparable,当需要比较时才这么做。不过我这里不能证实这个猜想,你要问你老师是怎么做到的了