cor*_*rin 2 java list arraylist
这是我的示例对象
object name: OBJ
object properties: String name, int age
现在我有2个全球名单
List<OBJ> lstobj = new ArrayList<OBJ>;
List<OBJ> anotherlist = new ArrayList<OBJ>;
Run Code Online (Sandbox Code Playgroud)
然后我在这两个列表中添加了一些记录
Name:Ben Age:5
Name:Charles Age: 6
Name:Dan Age:7
现在我需要将查尔斯的年龄改为"10"
首先,我应该在列表中找到Charles并从列表中获取obj
OBJ newobj = new OBJ;
for(OBJ obj : lstobj){
if(obj.getName.equals("Charles"){
newobj = obj;
}
}
Run Code Online (Sandbox Code Playgroud)
现在我需要将检索到的obj的年龄设置为10.
newobj.setAge(10);
此操作不仅会更改"lstobj",还会更改"其他列表".如何在不影响两个全局列表的情况下设置检索到的obj?
列表存储对对象的引用.如果将相同的引用粘贴到多个列表中,然后更改对象,它将随处更改.
如果你希望的内容,lstobj
并且anotherlist
是完全相互独立的,需要不同的对象插入到他们.这可能涉及制作对象的副本.
归档时间: |
|
查看次数: |
73 次 |
最近记录: |