我对这个问题没有更好的标题,你可以帮我改变它。如何使一个变量指示另一个对象?
class Example {
class A {
private String str;
public String getStr() {
return str==null ? "nothing" : str;
}
public void setStr(String str) {
this.str = str;
}
}
public static void main(String[] args) {
A a = null;
loadA(a);
System.out.println(a.getStr());
}
private static void loadA(A a) {
// a = ****;
// in my project, a is load from a json string using Gson
// Gson cannot modify a Object, it can only create a new one, say b
// I tried to copy every field from b to a
// but the method getStr do not always return the true str
// so I may have to create another method "getTrueStr()" which feels bad
}
}
考虑解决方案和问题:
a = Gson.createAnotherA()
它不工作。
- 我想每场从B复制到
但getStr()
并不总是返回真正的STR的方法,所以我可能要创建另一个方法getTrueStr()
这让我感觉不好。
clone()
a = loadA(a)
;
让我感觉更糟糕。
这一个很好。但我不喜欢它。因为我有其他loadB()
,loadC()
,他们不需要这种语法,它看起来不和谐。如果没有更好的解决方案出现,我会选择这一个。
问题是,如果我不选择我给定的解决方案,我该怎么办?
或
如果我给出的方法的参考A a
,我怎么能让它,而不是使用clone()
和我上面写的相同的另一个对象。
你想* *一个方法来加载'A' *和*'B'的实例? – 2015-03-13 09:24:37
@LutzHorn我不太了解你。 B 13 – bijiDango 2015-03-13 09:27:12
也许你应该发出一个问题。你的问题没有一个单一的问题。你只是告诉我们你的感受。所以你想创建一个A类型对象的复制/克隆? – isnot2bad 2015-03-13 09:27:47