没有合适的资源?快使用搜索试试~ 我知道了~
高效安全的Immutable List好处.docx
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 193 浏览量
2022-07-04
22:43:44
上传
评论
收藏 22KB DOCX 举报
温馨提示
试读
8页
Immutable List,顾名思义,就是,啥,不明白 Immutable 是什么意思?一成不变的意思,所以 Immutable List 就是一个不可变的 List 类,这意味着该 List 声明后,它的内容就是固定的,不可增删改的。 如果尝试对 List 中的元素进行增加、删除或者更新,就会抛出 UnsupportedOperationException 异常。 另外,Immutable List 中的元素是非 null 的,如果使用 null 来创建 Immutable List,则会抛出 NullPointerException;如果尝试在 Immutable List 中添加 null 元素,则会抛出UnsupportedOperationException。 那 Immutable List 有什么好处呢? 它是线程安全的; 它是高效的; 因为它是不可变的,就可以像 String 一样传递给第三方类库,不会发生任何安全问题。
资源推荐
资源详情
资源评论
Immutable List,顾名思义,就是,啥,不明白 Immutable 是什么意思?一成不
变的意思,所以 Immutable List 就是一个不可变的 List 类,这意味着该 List
声明后,它的内容就是固定的,不可增删改的。
如果尝试对 List 中的元素进行增加、删除或者更新,就会抛出
UnsupportedOperationException 异常。
另外,Immutable List 中的元素是非 null 的,如果使用 null 来创建 Immutable
List,则会抛出 NullPointerException;如果尝试在 Immutable List 中添加 null
元素,则会抛出 UnsupportedOperationException。
那 Immutable List 有什么好处呢?
� 它是线程安全的;
� 它是高效的;
� 因为它是不可变的,就可以像 String 一样传递给第三方类库,不会发生任何安全问
题。
那接下来,我们来看一下,如何创建 Immutable List。注意,源码是基于 JDK14
的。
01、借助原生 JDK
Collections 类的 unmodifiableList() 方法可以创建一个类似于 Immutable List
的 UnmodifiableList 或者 UnmodifiableRandomAccessList,都是不可修改的。
public static <T> List<T> unmodifiableList(List<? extends T> list) {
return (list instanceof RandomAccess ?
new Collections.UnmodifiableRandomAccessList<>(list) :
new Collections.UnmodifiableList<>(list));
}
来看一下使用方法:
List<String> list = new ArrayList<>(Arrays.asList("沉默王二", "沉默王三", "沉默王
四"));
List<String> unmodifiableList = Collections.unmodifiableList(list);
资源评论
小兔子平安
- 粉丝: 210
- 资源: 1940
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功