xinyuan47
xinyuan47
2010-04-17 08:17

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

已采纳

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

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

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

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

5条回答

  • weixin_42523569 没名取 11年前

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

    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"
    
    点赞 评论 复制链接分享
  • waterdh1 waterdh1 11年前

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

    点赞 评论 复制链接分享
  • mginobili mginobili 11年前

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

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

    点赞 评论 复制链接分享
  • mginobili mginobili 11年前

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

    点赞 评论 复制链接分享
  • cie386 cie386 11年前

    str[1]=op.toString();

    点赞 评论 复制链接分享

相关推荐