[英]How Can I create a dynamic reference to a Constant?
我想根據字段名稱進行動態調用以從 Constants.java 獲取常量?
前任。
public class Constants {
public static final String FIELD1 = "field1";
public static final String FIELD2 = "field2";
}
以及如何根據字段參數獲得價值?
private String getConstant(String field){
//field parameter can be many values for field paramter not just Field1 or Field2
return Constant.field;
}
您需要閱讀有關反射機制的信息。 嘗試這個:
private String getConstant(String field) throws NoSuchFieldException, IllegalAccessException {
// one field only:
return Constants.class.getField(field).get(null);
}
看起來你需要一個enum
(類似於常量):
public enum Constant {
FIELD1("field1"),
FIEL21("field2"),
// etc
;
private String str;
Constant(String str) {
this.str = str;
}
public String getStr() {
return str;
}
}
然后獲取字符串:
private String getConstant(String field) {
return Constant.valueOf(field).getStr();
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.