zoukankan      html  css  js  c++  java
  • TreeSet集合在哪种情况下会报错

    1.自然排序中的元素对象,都必须实现了Comparable接口,否则会抛出异常,案例如下:

    public class MySetTree {
    
      public static void main(String args[]){
          TreeSet treeSet = new TreeSet();
          treeSet.add(new SetTreeTest());
          treeSet.add(new SetTreeTest());
          treeSet.add(new SetTreeTest());
    
          System.out.println(treeSet);
      }
    }
    class SetTreeTest{
    }

    修正后:

    public class MySetTree {
    
      public static void main(String args[]){
          TreeSet treeSet = new TreeSet();
          treeSet.add(new SetTreeTest());
          treeSet.add(new SetTreeTest());
          treeSet.add(new SetTreeTest());
    
          System.out.println(treeSet);
      }
    }
    class SetTreeTest implements Comparable{
        @Override
        public int compareTo(Object o) {
            return 0;
        }
    }

    2.由于TreeSet会调用元素的compareTo方法,这就要求所有元素的类型都相同,否则也会发生异常

    public class MySetTree {
    
      public static void main(String args[]){
          TreeSet treeSet = new TreeSet();
          treeSet.add("1");
          treeSet.add(0);
          System.out.println(treeSet);
      }
    }

    3.当在TreeSet中放置null值时,会报空指针异常

    public class MySetTree {
    
      public static void main(String args[]){
          TreeSet treeSet = new TreeSet();
          treeSet.add(null);
          System.out.println(treeSet);
      }
    }
    当你发现自己的才华撑不起野心时,就请安静下来学习吧
  • 相关阅读:
    Linux Home目录硬盘空间缩减
    test
    ORACLE 数据泵 expdp/impdp
    mysql利用mysqlbinlog命令恢复误删除数据
    LogMiner日志挖掘分析管理
    Oracle 审计测试与总结
    redis 5.0.3 讲解、集群搭建
    联想服务器配置 RAID
    Cenots7对lvm逻辑卷分区大小的调整
    kvm 基本运维命令
  • 原文地址:https://www.cnblogs.com/smallVampire/p/12083267.html
Copyright © 2011-2022 走看看