2011-10-27 108 views
-1

大家=) 我想投一個字符串到雙這樣動態鑄造。 ClassCastException異常

Class.forName("java.lang.Double").cast("100") 

但它拋出ClassCastException異常。 :(
有什麼不對的,我怎樣才能達到我想要的

+4

因爲它是錯的,這就是爲什麼你得到錯誤 - 所以不要做這種方式,並宣讀了API,因爲它會告訴你這一點。而是通過Double.parseDouble解析字符串。 –

+0

我知道這一點,但我不能使用它因爲我不知道我需要在編譯時施加什麼類型。 – Tror

+0

你能更具體一點嗎?輸入字符串有什麼可能的值?你要在哪裏存儲結果?你爲什麼需要這個? – PaoloVictor

回答

3

你不能投了StringDouble如果你想獲得Double表示爲String,您可以:?。

Double d = new Double("100"); 

double d = Double.parseDouble("100"); 
+0

我知道這一點,但我不能使用它因爲我不知道我需要在編譯時施加什麼類型。 – Tror

+2

我不知道我們是否應該神奇地猜測他的要求和約束是什麼。 –

1

你基本上想投一個字符串到雙像這樣

String s = "100"; 
Double d = (Double)s; 

你不能那樣做。這是您的ClassCastException的原因。

您需要使用Double.valueOf()