gpt4 book ai didi

java - 更改 Java 中返回的对象

转载 作者:行者123 更新时间:2023-12-02 08:17:33 27 4
gpt4 key购买 nike

所以我有这个功能

public Foo findVariable(Foo input)

返回 Foo 类型的对象。我想获取该对象,然后在返回后在 findVariable 中修改它。我读到在 Java 中不能通过引用传递,所以是否可以:

  public void func1() {
Foo o = new Foo();
Foo exp = findVariable(o);
Foo newExp = new Foo(somethingDifferent);
exp = newExp;
}

我想要的是findVariable返回的Foo对象改为newExp对象。抱歉,如果这是不可能的,或者很简单,但我无法从我使用的搜索方法中找到它。谢谢!

最佳答案

您可以改变 func1findVariable 返回的 Foo:

public void func1() {
Foo o = new Foo();
Foo exp = findVariable(o);
exp.setSomething(different);
}

但如果你这样做:

List<Foo> foosHandedOutByMe = ...
public Foo findVariable(Foo foo) {
Foo f = new Foo();
foosHandedOutByMe.add(f);
return f;
}

然后调用:

public void func1() {
Foo o = new Foo();
Foo exp = findVariable(o);
Foo newFoo = new Foo(SomethingDifferent);
exp = newFoo;
}

foosHandedOutByMe 列表不会有 newFoo 对象。

关于java - 更改 Java 中返回的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6066185/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com