import java.util.Collection;
import java.util.TreeSet;
public class Test {
public static void main(String[]args) {
Collection c=new TreeSet();
c.add("Hello");
c.add("World");
c.add(new Integer(10));
c.add(new Object());
System.out.println(c);
}
}

解决方案 »

  1.   

    Exception in thread "main" java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.IntegerSet是集合,在添加对象时要查重,即拿现有元素和已有元素进行比较
    c.add(new Integer(10));
    调用compareTo,会进行类型转换,现有的string转为integer失败
      

  2.   

       import java.util.Collection;
    import java.util.TreeSet;
    public class Test {
        public static void main(String[]args) {
            Collection c=new TreeSet();
            c.add("Hello");
            c.add("World");
            c.add(String.valueOf(10));
           c.add(String.valueOf(new Object() ));
            System.out.println(c);
        }
    }这样写就对了,都是字符串的,需要强转一下
      

  3.   

    那 Collection c=new ArrayList();
    不用转换是不是因为ArrayList是有序可以重复的,所以它不检查集合中是否已经存在该元素啊?