java 中怎么获得以该字符串命名的变量?

比如有个字符串数组:
String[] str = new String[]{"a","b","c"};

而现在我有一个变量:
String op = "str";

我该怎么做能够用变量op 来实例化上边的字符串数组呢?

最直接的方式是反射,但不推荐反射

map是个好东西,可以实现此需求
把需求界定清楚,即需要如此处理的数据都列出来,再如下实现

    Map<String,String[]> map = new HashMap<String,String[]>();
    map.put("strA", new String[]{"a","str","c"});
    map.put("strB", new String[]{"d","e","f"});
    String op = "strB"; 

    String result = map.get(op)[0]; // "d"

str[1]=op.toString();

java中没有eval之类的关键字哦

但如果这个是一个对象的字段名的话

则可以通过反射来获取其内容

反射有较大的性能损耗,一般不建议用在运行阶段反射,大多开源框架是在初始化的时候通过反射来实例化。