java.lang.NumberFormatException : Invalid int: "3546504756", 这个错误是什么意思?

标签 java android numberformatexception parseint

我正在创建一个 Android 应用程序,我正在从一个文本文件中读取一些坐标。

我正在使用 Integer.parseInt(xCoordinateStringFromFile) 将 X 坐标转换为整数,并以相同的方式转换为 Y 坐标。

当我运行该应用程序时,我在该行收到错误,如下所示:

BridgeData data = new BridgeData(
    elements[0],
    elements[1],
    Integer.parseInt(elements[2]),
    Integer.parseInt(elements[3]),
    Integer.parseInt(elements[4]),
    new GeoPos(Integer.parseInt(elements[5].split(",")[0]), Integer.parseInt(elements[5].split(",")[1])),
    new GeoPos(Integer.parseInt(elements[6].split(",")[0]), Integer.parseInt(elements[6].split(",")[1])),
    Integer.parseInt(elements[7]),
    Integer.parseInt(elements[8])
);

变量 elements 是一个字符串数组,通过在每个 ; 上拆分当前行创建。

“主要”错误是:

java.lang.NumberFormatException: Invalid int: "3546504756"

我想知道这是什么意思,我该如何解决。

最佳答案

错误只是意味着 java 无法将您在调用 Integer.pasrseInt 时尝试使用的字符串转换为该数字超出整数范围。

您应该使用 Long.parseLong 作为 3546504756 数字不在 range 中一个整数。

确保您的 BridgeData 构造函数接受 long 作为参数而不是整数。

关于java.lang.NumberFormatException : Invalid int: "3546504756", 这个错误是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27331336/

相关文章:

Android - 由 InvocationTargetException 引起的 IllegalStateException : Could not execute method of the activity,

java - Spring boot MVC 模板 - tomcat7 给出 404 错误

java - 如何确保 if 语句中的指令(也在 for 循环中)仅执行一次?

android - 获取倾斜角度Android

Android构建目标,重复,选择哪个?

java - 尝试将 char 数组的元素转换为 int 时出现错误

java - 将java复选框值插入sql

java - 如何在JBossAS 6.1.0.Final中监控Java堆空间

android - 我们如何离开画中画模式?

android - 使用 KSOAP 调用 webservice 时获取 NumberFormatException