关于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