有时候方法返回一个列表但是不想调用者改变列表内容。有三种方法可以实现不可变列表,通过调用JDK,Guava以及Apache Commons Collections相关API来实现。
1.JDK
add方法会抛出java.lang.UnsupportedOperationException异常。
2.Apache Commons Collections
同样的调用add方法会抛异常,源码:
3.Guava
这个操作实际创建了原list的copy,不是原list的视图,Guava也提供构建器——返回强类型ImmutableList代替简单List,如下:
Original: https://www.cnblogs.com/foxting/p/12299841.html
Author: KenNgai
Title: JAVA不可变List的实现
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/537948/
转载文章受原作者版权保护。转载请注明原作者出处!