簡體   English   中英

在 java 中創建 object 之后更改 object 字段

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM