Java把字符串转换成long型时,出现 java.lang.NumberFormatException: For input string: ""错误原因及解决方案
Java 字符串String转换为Long
java把字符串String转换成Long型时,出现 java.lang.NumberFormatException: For input string: ""错误,一般是因为以下两种情况导致:
1)转换的字符串数据大小超过定义的数据类型,如定义的变量是int类型(最大值 2147483647
),若待转换的字符串是比这个值大,变量需要换成long类型
Java中String转为Long的两种方法:
Long.valueOf("String"); 返回Long包装类型
Long.parseLong("String"); 返回long基本数据类型
注:
1. 字符串长度不能超过19位
2. 当String的值超过2147483647
Integer.valueOf("String").longValue()也会报相同的错误
2)转换的字符串数据中包含空格(头、尾、中间)。需要去掉字符串的空格,可使用以下方法:
str.trim(); //去掉首尾空格
str.replace(" ",""); //去除所有空格,包括首尾、中间