我想在可以多次調用的類中編寫一個方法,每次修改一個類的字段。但是,我需要new
該對象,並設置字段的值,如果我想要修改它,但如果在方法內執行此操作,引用似乎丟失,並且該字段在調用後保持不變。如何使用名稱訪問Java中的變量?
Public class A {
private Immutable a; //Immutable class
private Immutable b;
public void modify(Immutable k,int v) {
k=new Immutable(v); //Now I am trying to pass
//a and b as parameters but they remain unchanged
}
}
有什麼辦法打發字段的名稱進入方法(例如,方法改變modify(Immutable k, int v)
到modify(String kName, int v)
,然後使用字段的名稱來訪問它?
感謝您的任何輸入!
ŭlo謝謝!兩個問題:首先,爲什麼不應該使用反射?其次,如果我有一堆不同的領域,是否沒有方便的方式來訪問它們? –
這是一個風格問題。你班級的客戶不應該知道你的領域,這是你班級的私人地形。因此,說「請把你的領域x設爲y」並不是正確的做法。 –
如果您確實有很多這樣的屬性,請使用unholysampler建議的地圖。 –