TreeSet的null值与元素类型的约束
生活随笔
收集整理的這篇文章主要介紹了
TreeSet的null值与元素类型的约束
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、TreeSet
Java的TreeSet通過TreeMap來實現,具有自然排序的功能。
在默認情況下,元素不允許為null值,元素必須是相同類型,元素必須實現了Comparable接口;否則會出現java.lang.ClassCastException。
可以通過設置Comparator接口的實例,來實現元素允許為null值,元素為不同類型。
二、代碼實現
(1)默認情況
TreeSet treeSet=new TreeSet();treeSet.add(1);treeSet.add(2.0);輸出結果
Exception in thread "main" java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.Doubleat java.lang.Double.compareTo(Unknown Source)at java.util.TreeMap.put(Unknown Source)at java.util.TreeSet.add(Unknown Source)at cn.test.Test.main(Test.java:9)(2)null值
TreeSet treeSet=new TreeSet((o1,o2)->{return Objects.toString(o1).compareTo(Objects.toString(o2));});treeSet.add(1);treeSet.add(null);(3)不同類型
TreeSet treeSet=new TreeSet((o1,o2)->{return Double.valueOf(o1.toString()).compareTo(Double.valueOf(o2.toString()));}); treeSet.add(1); treeSet.add(2.0);總結
以上是生活随笔為你收集整理的TreeSet的null值与元素类型的约束的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 8内核8逻辑处理器电脑是什么配置怎么样?
- 下一篇: 你知道void和Void的区别吗