在毕老师的视频中,演示的示例和我实际运行时,运行结果不一样,不知道哪里出问题了。大家帮忙看一看。
按照视频中说的,当只添加一个元素,即执行 ts.add(new Student("lisi03",22));这一句时虚拟机是不会报错的,可以存入内存
,仅当增添多个元素的时候,由于牵扯到Comparable接口的问题。所以会报ClassCastException: Student cannot be cast to java.lang.Comparable异常。
但是,我在演示的时候,也只添加一个元素,但是虚拟机还是会报 类型转换异常
虚心请教,是怎么回事?谢谢!- import java.util.*;
- class TreeSetDemo
- {
- public static void main(String[] args)
- {
- TreeSet ts = new TreeSet();
- ts.add(new Student("lisi03",22));
-
- //ts.add(new Student("lisi02",20));
- //ts.add(new Student("lisi09",19));
- //ts.add(new Student("lisi01",30));
- Iterator it= ts.iterator();
- while(it.hasNext())
- {
- Student p = (Student)it.next();
- sop(p.getName()+"..."+p.getAge());
- }
- }
- public static void sop(Object obj)
- {
- System.out.println(obj);
- }
- }
- class Student
- {
- private String name;
- private int age;
- Student(String name,int age)
- {
- this.name=name;
- this.age=age;
- }
- public String getName()
- {
- return name;
- }
- public int getAge()
- {
- return age;
- }
- }
复制代码 |
|