使用Collections.emptyList()生成的List不支持add方法___Java Collections.emptyList方法的使用及注意事项
生活随笔
收集整理的這篇文章主要介紹了
使用Collections.emptyList()生成的List不支持add方法___Java Collections.emptyList方法的使用及注意事项
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
使用Collections.emptyList()生成的List不支持add方法
今天使用Collections.emptyList(),返回一個空的List
但是發現它不支持Add功能,調用Add會拋出unsupportedException,
在以后要返回一個空的List,并還需要后續操作時,不能使用Collections.emptyList()方法,看文檔發現,List的實現類都有自己的實現,而返回的EmptyList的實現沒有實現add(int index, E element方法,使用了
Java Collections.emptyList方法的使用及注意事項
一、emptyList()
- 作用:返回一個空的List(使用前提是不會再對返回的list進行增加和刪除操作);
- 好處:
1. new ArrayList()創建時有初始大小,占用內存,emptyList()不用創建一個新的對象,可以減少內存開銷;
2. 方法返回一個emptyList()時,不會報空指針異常,如果直接返回Null,沒有進行非空判斷就會報空指針異常; - 注意:此List與常用的List不同,它是Collections類里的靜態內部類,在繼承AbstractList后并沒有實現add()、remove()等方法,所以返回的List不能進行增加和刪除元素操作。
- 示例:
- 增刪操作:
- 結果:
如果需要對collections.emptyList()進行增刪操作的話,就需要將collections.emptyList()轉換成ArrayList()進行操作。
- 示例:
- 結果:
總結
以上是生活随笔為你收集整理的使用Collections.emptyList()生成的List不支持add方法___Java Collections.emptyList方法的使用及注意事项的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python源码精要(5)-C代码规范
- 下一篇: Java 8————Collectors