如果是封装的对象呢,无法修改当前封装的对象
时间: 2024-01-15 07:04:30 浏览: 46
如果您封装的对象是不可变的,即对象内容一旦创建就不能被修改,那么您可以考虑重新创建一个新的对象,将原对象中的数据复制到新对象中,再添加新数据。如果您使用的是 ArrayList,可以使用其构造函数来创建一个包含原来数据的新的 ArrayList 对象,然后再使用 add() 方法添加新数据。例如:
```
// 假设您封装的对象是一个 Student 类型的对象,其中包含 name 和 age 两个属性
public class Student {
private String name;
private int age;
public Student(String name, int age) {
this.name = name;
this.age = age;
}
// 省略 getter 和 setter 方法
}
// 创建一个包含原来数据的新的 ArrayList 对象,然后再添加新数据
ArrayList<Student> oldList = new ArrayList<>();
oldList.add(new Student("Tom", 18));
oldList.add(new Student("Jerry", 20));
ArrayList<Student> newList = new ArrayList<>(oldList);
newList.add(new Student("Bob", 22));
```
这样就创建了一个包含原来数据的新的 ArrayList 对象 newList,其中包含了原来的两个元素和一个新的元素。由于 Student 对象是不可变的,所以需要创建一个新的对象来保存新的数据。