记录java.util.Collections.unmodifiableList()使用

一般情况下对于我们自定义的ava对象中private类型变量一般不提供set方法来保证数据不被修改,但是如果你的对象List成员只要你提供get方法后,就可以随意add、remove改变其结构,这样显然跟我们的本意是不一样的,这个时候Collections就提供了一个静态方法unmodifiableList,他就可以可以达到目的。

 

首先我们去看下这个方法:

 

public static List unmodifiableList(List list);

大概用法就是:

传入一个List实例A,返回这个list的只读视图B,类型依然是List。之后对B进行add、remove等改变 其内容的操作的话那么将导致编译不通过。

 

 

创建对象user01

 

记录java.util.Collections.unmodifiableList()使用_第1张图片

测试查看:

 

记录java.util.Collections.unmodifiableList()使用_第2张图片

修改我们的user类如图所示:

记录java.util.Collections.unmodifiableList()使用_第3张图片

 

在进行同样的操作:

记录java.util.Collections.unmodifiableList()使用_第4张图片

 

总结:

发现报错了。

可见使用unmodifiableList可以保证对象的list内容不被意料之外地修改,保证对象的封装性。

 

 

 

你可能感兴趣的:(工作知识点记录)