[英]Change object fields after object creation in java
I have 3 class First, Second, and Third, Third class has a field name, I am creating an object of three classes, Now after the creation of the object I want to change the name of the Third class field from "john" to “山姆”,如何在不創建新的第三個 class object 的情況下更新它。
public class First {
List<Second> second;
public List<Second> getSecond() {
return second;
}
public void setSecond(List<Second> second) {
this.second = second;
}
}
第二
public class Second {
protected Third third;
public Third getThird() {
return third;
}
public void setThird(Third third) {
this.third = third;
}
}
第三
public class Third {
protected String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public String toString() {
return "Third{" +
"name='" + name + '\'' +
'}';
}
}
測試
public class Test {
public static void main(String[] args) {
Third third = new Third();
third.setName("john");
Second second = new Second();
List<Second> list = new ArrayList<>();
list.add(second);
second.setThird(third);
First first = new First();
first.setSecond(list);
// How can I set change Third object name from john to Sam
System.out.println(first.second.get(0).third.toString());
}
}
當您有First
class 的實例時,您可以使用 getter 獲取所需的 object,然后將其用於該字段:
first.getSecond().get(0).getThird().setName("Sam");
PS這是不安全的,因為你可以得到NPE
或者second
列表可能是空的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.