long converted = Long.valueOf(input);
輸入是String
對象。爲什麼我在轉換此對象時遇到NumberFormatException
我想將一個數字的字符串值轉換爲long
。
我假設要轉換一個字符串對象,我需要使用.valueOf
來返回一個Long對象。
是因爲我將結果存儲在原始變量中嗎?
謝謝你的幫助。
long converted = Long.valueOf(input);
輸入是String
對象。爲什麼我在轉換此對象時遇到NumberFormatException
我想將一個數字的字符串值轉換爲long
。
我假設要轉換一個字符串對象,我需要使用.valueOf
來返回一個Long對象。
是因爲我將結果存儲在原始變量中嗎?
謝謝你的幫助。
如果您沒有提供有效的長輸入,則會引發NumberFormatException。請看下圖:
long converted = Long.valueOf("3");
System.out.println(converted);
打印
try{
long converted = Long.valueOf("TEST");
System.out.println(converted);
}
catch(NumberFormatException e){
System.out.println("Your input is wrong..");
}
此拋出NumberFormatException的,這是因爲沒有一個有效的數字。並打印「你輸入錯誤。」
學習使用JavaDoc:
public static Long valueOf(String s) throws NumberFormatException
返回一個Long對象持有指定String
的價值。該參數被解釋爲表示一個帶符號的十進制數long
,就好像參數被賦予了parseLong(java.lang.String)
方法一樣。結果是表示由字符串指定的整數值的一個Long
對象。 換句話說,此方法返回一個Long
對象等於的值:
new Long(Long.parseLong(s))
參數: s
- 要被解析的字符串。
返回: a Long
持有由字符串參數表示的值的對象。如果字符串不能被解析爲long
。
你得到這個異常,因爲輸入不是一個有效的長。 – manouti
輸入包含什麼內容?什麼是異常的確切消息? – Eran
嘗試打印輸入內的字符串。並看看它是否是一個有效的數字 – Saif