2016-03-04 159 views
-4

我的問題是假設有一個字符串變量,如String abc="Shini";如何使用字符串的值作爲變量名稱

所以有可能通過一些自動的方式使用"Shini"作爲新的變量名稱而不是通過明確的鍵入。

String abc = "Shini"; 
String Shini = "somevale"; 
+5

不,這是不可能的。 – Joydeep

+0

你是什麼意思的自動手段? –

+0

是的。您可以使用。 http://stackoverflow.com/questions/276555/setting-variables-by-name-in-java –

回答

0

變量必須在編譯時聲明,所以沒有它不是不可能性在運行時,它在我腦海中 最好的辦法是把它作爲一個地圖鍵

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

然後myMap.get (「Shini」)會給「東西」。

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

我沒有編譯這段代碼。請檢查這是否可以有輕微的錯誤。

相關問題