我對這個問題沒有更好的標題,你可以幫我改變它。如何使一個變量指示另一個對象?
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