黑马程序员技术交流社区
标题:
小问题,大家帮忙看一下
[打印本页]
作者:
gerenvip
时间:
2013-4-14 10:13
标题:
小问题,大家帮忙看一下
在毕老师的视频中,演示的示例和我实际运行时,运行结果不一样,不知道哪里出问题了。大家帮忙看一看。
按照视频中说的,当只添加一个元素,即执行 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;
}
}
复制代码
作者:
HM何伟
时间:
2013-4-14 10:18
这个跟jDk的版本有关,6版本中允许存储一个,而7版本不允许存储。
作者:
gerenvip
时间:
2013-4-14 12:02
HM何伟 发表于 2013-4-14 10:18
这个跟jDk的版本有关,6版本中允许存储一个,而7版本不允许存储。
原来这样啊。我用的jdk1.7的。谢啦!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2