【问题标题】:How to use the value of a String as a variable name如何使用字符串的值作为变量名
【发布时间】:2016-03-04 05:47:44
【问题描述】:

我的问题是假设有一个像String abc="Shini"; 这样的字符串变量。

那么是否可以通过某种自动方式而不是通过显式键入来使用"Shini" 作为新变量名。

String abc = "Shini"; 
String Shini = "somevale";

【问题讨论】:

标签: java


【解决方案1】:

变量必须在编译时声明,所以不,它在运行时是不可能的 我想到的最好的事情就是将它用作地图键

String abc = "Shini";
Map<String, String> myMap = new Hashmap<>();
myMap.put(abc, "something");

然后 myMap.get("Shini") 会给出“一些东西”。

【讨论】:

    【解决方案2】:

    是的。你可以使用。

    class Foo {
        private int lorem;
        private int ipsum;
    
        public Foo(){}
    
        public setAttribute(String attr, int val) throws NoSuchFieldException, IllegalAccessException {
            Field field = getClass().getDeclaredField(attr);
            field.setInt(this, val);
        }
    
        public static void main(String [] args) {
            Foo f = new Foo();
            f.setAttribute("lorem", 1);
            f.setAttribute("ipsum", 2);   
        }
    }
    

    我没有编译这段代码。请检查这是否有小错误。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-18
      • 2016-10-09
      • 1970-01-01
      相关资源
      最近更新 更多