java进阶

Arrays.asList(), Collection.emptyList(), Collections.singletonList()的用法和区别?

Arrays.asList()mutable
Collection.emptyList()immutable
Collections.singletonList()immutable

Arrays.asList() is not immutable

Collections.singletonList() 是建单个元素的列表,并且建出来的List是immutable(不可变的),就是初始化之后不能再加元素。

Using Collections.singletonList() Method [ Immutable List ]
This is simplest and recommended method to create immutable List with single element inside it. The list created with this method is immutable as well, so you are sure that there will not be any more elements in list, at any condition.

List<String> list = Collections.singletonList( "data" );   //How to create

Immutable List是什么?有什么好处?

不可变列表。
参考:
https://cloud.tencent.com/developer/article/1670444
如果尝试对 List 中的元素进行增加、删除或者更新,就会抛出UnsupportedOperationException 异常。

另外,Immutable List 中的元素是非 null 的,如果使用 null 来创建 Immutable List,则会抛出 NullPointerException;如果尝试在 Immutable List 中添加 null 元素,则会抛出 UnsupportedOperationException。

那 Immutable List 有什么好处呢?

  • 它是线程安全的;
  • 它是高效的;
  • 因为它是不可变的,就可以像 String 一样传递给第三方类库,不会发生任何安全问题。

不可变列表和可变列表在java中具体有什么实例?

不可变列表

List<String> immutableList = Arrays.asList();
Collectors.toList()也是

可变列表
List list = new ArrayList<>();
参考:http://www.techiedelight.com/zh/mutable-unmodifiable-immutable-empty-list-java/

“不可修改列表”是什么?和上面两种什么区别?

Collections unmodifiableList() 返回指定空列表的不可修改视图,原始可变列表中的任何更改都将在不可修改列表中可见。

List<String> mutableList = new ArrayList<>();
List<String> unmodifiable = Collections.unmodifiableList(mutableList);

我的理解:在可变列表上套一层皮,在它的基础上搞一个不可变的对象出来。。。

引用是什么?

多个对象指向同一个对象,如String的赋值其实是引用。

什么是JpaRepository?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值