概述
unmodifiableList初探
问题描述:当一个集合在创建成功到使用完成的期间内,内容不允许修改,需要对其进行操作。
如图示:
package cn.com.pep.res.back.YoZo;
import cn.com.pep.res.back.YoZo.vo.UserResBean;
import cn.com.pep.res.back.YoZo.vo.YozoResult;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.parser.Feature;
import com.sun.istack.internal.Nullable;
import org.springframework.util.CollectionUtils;
import java.util.*;
/**
* Date: 2021/7/1 15:54
* author: songyl
*/
public class Test {
public static void main(String[] args) {
unModifyTest();
}
private static void unModifyTest() {
List<String> couresList = new ArrayList<>();
couresList.add("English");
couresList.add("语文");
Student student = new Student();
student.setAge("11");
student.setName("songyl");
student.setCources(couresList);
System.out.println(student);
List<String> cources = student.getCources();
cources.add("math");
System.out.println(student);
}
static class Student {
@Override
public String toString() {
return "Student{" +
"name='" + name + ''' +
", age='" + age + ''' +
", cources=" + cources +
'}';
}
public Student(String name, String age, List<String> cources) {
this.name = name;
this.age = age;
this.cources = cources;
}
String name;
String age;
List<String> cources;
public Student() {
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
public List<String> getCources() {
return cources;
}
public void setCources(List<String> cources) {
this.cources = cources;
}
}
}
结果如下
解决办法:使用colletions.unmodifiableList方法对集合进行处理
List<String> cources = Collections.unmodifiableList(student.getCources());
再次运行结果如下
有效的抛出了异常,防止数据被破坏
最后
以上就是受伤白猫为你收集整理的java基础-unmodifiableList初探unmodifiableList初探的全部内容,希望文章能够帮你解决java基础-unmodifiableList初探unmodifiableList初探所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复