为什么此代码段会出错?

时间:2014-11-15 19:40:07

标签: java

    Set set=new TreeSet();

    set.add(2);
    set.add(1);
    set.add("3");
    System.out.println(set);

设置为Collection且不均匀,因此应取任何值(IntegerString}

1 个答案:

答案 0 :(得分:5)

TreeSet按顺序存储其值 - 这意味着它们必须相互比较。您无法将IntegerString进行比较,因此您会在执行时获得异常。

如果您真的希望能够这样做,您可以为Comparator的构造函数提供自己的自定义TreeSet,实现您想要的比较逻辑。