鑑於String
表示int
,我想檢查溢出。鑑於int的字符串表示形式,檢查溢出
我知道如何使用java的內置函數parseInt
來轉換String
從int
。 但是如果String
太大以至於不適合int
會怎樣?
String str = "214748364781";
int res = Integer.parseInt(str);
我試圖檢查String
代表性的符號,做parseInt
如果符號不匹配,那麼我可以說,它溢出,因爲int
迴繞但是當我居然跑它,它扔了NumberFormat
例外。
NumberFormat
對任何錯誤格式化的字符串都會引發,所以它不能保證溢出。
所以我可以檢查出輸入字符串的格式是正確的(所有數字),然後做parseInt
那麼,如果我得到NumberFormat
我可以得出這樣的結論錯誤的,由於溢出。
但是,我覺得應該有一個更短的方式來做這個檢查。