所以我得到的问题似乎是一种常见的问题,但是我在网上检查的每个问题中的缺失点与我遇到的问题不同。
所以我要做的是将字符串转换回long。 该字符串是从文件中读取的,如下所示
484625517161611266 string 454511457536
我将这行读入数组并打印出数组,显示写入正常。 然后我尝试转换为下面的长
long id = Long.parseLong(splitted[0],10);
但是我遇到了这个问题
java.lang.NumberFormatException: For input string: "484625517161611266"
通常,此类异常的常见问题是尝试转换字母或尝试转换包含空格的数字。读取文件时,另一个问题可能是某个错误。
但是,我检查了所有这些可能性,但仍然得到了这个例外
有什么建议吗? 提前致谢
答案 0 :(得分:5)
java.lang.NumberFormatException:对于输入字符串: “484625517161611266”
您的输入中有\uFEFF
(零宽度无爆炸空间)字符
尝试复制并在纯文本编辑器中粘贴它,删除此垃圾字符
删除此字符即可使用
inputNumberString.replaceAll("\uFEFF", "").trim()
注意:trim()
只是为了删除任何其他空格(如果存在)