A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 魏志雷 黑马帝   /  2012-1-27 22:57  /  1893 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 魏志雷 于 2012-2-1 14:16 编辑

public class TreeSetDemo
{
        public static void main(String[] args)
        {
                TreeSet ts = new TreeSet();

                ts.add(new Student("java02", 22));
                // ts.add(new Student("java02",20));
                // ts.add(new Student("java03",19));
                // ts.add(new Student("java04",40));

                Iterator it = ts.iterator();

                while (it.hasNext())
                {
                        Student stu=(Student)it.next();
                        sop(stu.getName()+"::"+stu.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;
        }
}
这段代码为什么会抛出ClassCastException异常,视频上面讲解,存储一个对象是不会抛出异常的,检查好几遍没有发现什么原因!

4 个回复

倒序浏览
本帖最后由 魏志雷 于 2012-1-30 16:20 编辑

我晕死了,这段代码和老师的一样,我的运行会出错,虽然你们说的正确,但是已经把代码改变了,现在我也找到问题所在了,终于发现我和老师不同的地方,老师用的是JDK1.6,我用的JDK1.7换成1.6之后就不会出错了,幸好我看到泛型也出错了,提示让我改成JDK1.6,没想到改成JDK1.6之后这段代码也不会提示错误了,呵呵,蒙对了!

评分

参与人数 1技术分 +1 收起 理由
admin + 1 问题已解决,建议把标题修改成已解决!.

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马