假设我有以下内容:
public class Something{
private final String VALUE_AAA = "ABC";
private final String VALUE_BBB = "DEF";
private final String VALUE_CCC = "GHI";
public String getValue(String param) {
}
}
现在我想如果我将值 BBB 传递给 getValue 作为返回 DEF
这可能吗?我不想要 if - else 语句。我想过 BeanUtils,但我不确定。
谢谢, 豪克
最佳答案
也许你可以使用 HashMap,
public class Something{
protected final HashMap<Integer, String>() hashMap = new HashMap<Integer, String>(){{
put(new Integer(1),"ABC");
put(new Integer(2),"DEF");
put(new Integer(3),"GHI");
}}
public String getValue(Integer nr) {
return hashMap.get(nr);
}
}
编辑
似乎这些值集是在类本身中预先初始化的,对于作为输入的字符串参数,您可以使用:
public class Something{
protected final HashMap<String, String> hashMap = new HashMap<String, String>(){{
put("AAA","ABC");
put("BBB","DEF");
put("CCC","GHI");
}};
public String getValue(String nr) {
return hashMap.get(nr);
}
我跳过了“Value_”,因为如果您决定使用 HashMap,则不需要这样的变量名,只需要键。
关于java - 在Java中动态分配另一个变量的变量值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7212994/