如何使用String的值作为变量名

时间:2016-03-04 05:47:44

标签: java

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

因此可以通过一些自动方式而不是通过显式输入来使用"Shini"作为新变量名。

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

2 个答案:

答案 0 :(得分:0)

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

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

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

答案 1 :(得分:0)

是。你可以使用。

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);   
    }
}

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