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);
      }
    }
    当你发现自己的才华撑不起野心时,就请安静下来学习吧
  • 相关阅读:
    Android安全机制
    service不死之身
    图片加载机制比较
    handler机制面试
    SharedPreferences封装类
    文字太长自动缩小
    ANR
    onCreate源码分析
    线程池的启动策略
    Oauth认证协议
  • 原文地址:https://www.cnblogs.com/smallVampire/p/12083267.html
Copyright © 2011-2022 走看看