2

所以我遇到的问题似乎很常见,但是我在网上检查的每个问题中的缺失点都与我遇到的不同。

所以我想做的是将字符串转换回长字符串。该字符串是从文件中读取的,如下所示

484625517161611266 string 454511457536

我将该行读入一个数组并打印了显示写入正常的数组。然后我尝试转换为 long 如下

long id = Long.parseLong(splitted[0],10);

但是我遇到了这个问题

java.lang.NumberFormatException: For input string: "484625517161611266"

通常,此类异常的常见问题是尝试转换字母或尝试转换包含空格的数字。另一个问题可能是读取文件时的某个错误。

但是我检查了所有这些可能性,但我仍然得到这个异常

有什么建议么 ?提前致谢

4

1 回答 1

5

java.lang.NumberFormatException:对于输入字符串:“484625517161611266”

您的输入中有一个\uFEFF (ZERO WIDTH NO-BREAK SPACE) 字符

尝试将其复制并粘贴到纯文本编辑器中,删除此垃圾字符

要删除此字符,您可以使用

inputNumberString.replaceAll("\uFEFF", "").trim()

注意:trim()只是为了删除任何其他空格(如果存在)

于 2014-12-31T18:31:33.867 回答