關於new ArrayList()和Collections.emptyList()


很明顯 new ArrayList()是創建一個Collection實例,它是Collection集合下面的一個實現類(中間繼承了AbstractList),它的實例有Collection的增加,刪除,修改等方法,

ArrayList平常用的很多,這里就不過多說明,主要說一下Collections.emptyList()。首先看一下源碼:

 

 

emptyList()方法返回的是Collections的一個成員屬性EMPTY_LIST,再看一下EMPTY_LIST:

 

 

 

 可以看出Collections.emptyList()方法最終調用的是Collections的一個靜態內部類EmptyList的構造方法實例化一個EmptyList對象,然后再看一下EmptyList這個類:

 

 可以看出它並沒有Collection集合的那些增加,修改刪除方法。如果用它來創建的list來進行增加修改等操作會出現異常。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM