• 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);
      }
    }
    当你发现自己的才华撑不起野心时,就请安静下来学习吧
  • 相关阅读:
    springboot整合mybatis 异常 org.apache.ibatis.binding.BindingException: Invalid bound statement (not found):
    报时助手
    Huffman树费用
    动画效果
    工具和其他操作
    使用筛选器获取元素
    DOM操作
    属性和样式操作
    jQuery基础
    选择器
  • 原文地址:https://www.cnblogs.com/smallVampire/p/12083267.html
Copyright © 2020-2023  润新知