2014-02-10 70 views
0

一個字符串聲明的數據類型。假設我有一個名爲字符串samplestring,我們是否可以在java中

String samplestring="int"; 

可我宣佈一個名爲「將SampleNumber」變量int型的這樣

samplestring samplenumber; 

代替

int samplenumber; 
+4

短前面回答:沒有。較長的回答:您需要使用反射來做到這一點。但只能使用Integer類的實例,而不能使用原始類型。 – NeplatnyUdaj

+0

否..編譯器必須在編譯前瞭解所有變量的類型/詳細信息。 – TheLostMind

+4

簡短回答:不需要很長的回答:Nooooo。 – Maroun

回答

0

可以投一個對象,具有這樣的反思:

String datatype = "java.lang.Integer"; 
Object integer = 42; 
Object castedInteger = null; 

try { 
    Class intClass = Class.forName(datatype); 
    castedInteger = intClass.cast(integer); 

    System.out.println(integer.getClass() + " " + castedInteger.getClass()); 
} catch (ClassNotFoundException e) { 
     e.printStackTrace(); 
} 

但是老實說:你爲什麼需要這個?輸出將是:

類java.lang.Integer類java.lang.Integer

相關問題