-2
當我使用此代碼創建某種通用換類:替代反射訪問任意字段
//constructor method
public Change(Object affdObj, String affdField, float modifier) {
obj = affdObj;
//...
affectedField = affdObj.getClass().getField(affdField);
//...
affectedField.setFloat(obj, affectedField.getFloat(obj) + modifier);
}
但後來我被告知,以避免反射,因爲它是非常緩慢只要有可能。我被建議關注接口。不幸的是,我看不到如何適合我的代碼接口。
因此,我的問題:如果需要訪問一個字段,他的名字他不知道提前除了使用反射之外還有其他選擇嗎?
PS
感謝您的答覆,夥計們。
而且因爲我的問題是擱置的主要意見爲基礎,我認爲這是在回答我的問題,即有沒有其他的方式來實現我的目標是不是在每個方面我的好。換句話說,我認爲我的方法是可以的。謝謝。
反思是不是慢,我建議你首先的工作。如果緩存「Field」對象,則需要幾分之一秒的時間。 –