所以我遇到的问题似乎是一种常见问题,但是我在网上检查的每个问题中的缺失点都与我遇到的问题不同。
所以我想做的是将字符串转换回长字符串。 该字符串是从文件中读取的,如下所示
484625517161611266 string 454511457536
我将该行读入数组并打印了该数组,这表明写入顺利。 然后我尝试转换为 long 如下
long id = Long.parseLong(splitted[0],10);
但是我遇到了这个问题
java.lang.NumberFormatException: For input string: "484625517161611266"
通常,此类异常的常见问题是尝试转换字母或尝试转换包含空格的数字。另一个问题可能是读取文件时出现某些错误。
但是我检查了所有这些可能性,但仍然遇到此异常
有什么建议吗? 提前致谢
最佳答案
java.lang.NumberFormatException: For input string: "484625517161611266"
有一个\uFEFF
输入中的 (ZERO WIDTH NO-BREAK SPACE) 字符
尝试复制它并粘贴到纯文本编辑器中,删除这个垃圾字符
要删除此字符,您可以使用
inputNumberString.replaceAll("\uFEFF", "").trim()
注意:trim()
只是为了删除任何其他空白(如果存在)
关于java.lang.NumberFormatException : For input string: “” ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27724938/