java如何检查变量名是否包含字符串,然后输出字符串变量内容
我有这4个变量
private final String PROG_DEPT = "PROGRAMMING/ENGINEERING";
private final String DES_DEPT = "DESIGN/WRITING";
private final String ART_DEPT = "VISUAL ARTS";
private final String SOUND_DEPT = "AUDIO";
我想做的是得到一个字符串,并将其与变量进行比较,然后输出变量包含的内容(如果它等于它)
例如,如果我的字符串等于“ART_DEPT”,则检查是否存在名为ART_DEPT的变量,然后输出“VISUAL ARTS”
我想把它放在一个2D字符串数组或列表中,但我不确定该怎么做
# 1 楼答案
听起来像是在寻找反射(或者如果希望使用不同的数据类型,而不是在类中查找变量,则使用
Map<String, String>
)。看起来映射方法已经被很好地涵盖了,所以这只是因为我感兴趣,这里是反射方法(不是说这不是解决这个问题的最佳方法,而是因为您要求检查变量是否存在,然后获取它的值)第一个打印
"ATR_DEPT"
的请求将打印VISUAL ARTS
,第二个对不存在的"COMP_DEPT"
的请求将返回null# 2 楼答案
试试这个
住在这里。您可以使用Map来实现这一点,但要实现这一点,您必须从这些字符串创建一个Map
# 3 楼答案
我会使用枚举:
然后使用
valueOf()
# 4 楼答案
您要查找的数据类型是
Map<String, String>
Map
将唯一键绑定到值。在这种情况下,两者都具有类型String
。您可以使用put(key, value)
添加绑定,并使用get(key)
获取键的绑定# 5 楼答案
你需要的是一张地图
然后按以下方式使用:
# 6 楼答案
您可能希望使用某种
Map
,例如HashMap<String,String>
。我建议您阅读Map
接口和HashMap
类的Javadocs