java - 将 String 转换为 Integer 时出现 NumberFormatException

标签 java

我想将字符串数组转换为整数。我写了这个,但 eclipse 返回错误:

代码如下:

public static void main(String[] args) throws IOException {
    BufferedReader br = new BufferedReader(new FileReader("array_list.csv"));
    String everything = "";
    try {
        StringBuilder sb = new StringBuilder();
        String line = br.readLine();

        while (line != null) {
            sb.append(line);
            sb.append('\n');
            line = br.readLine();
        }
        everything = sb.toString();
    } finally {
        br.close();
    }
    int firstArrLenght = everything.indexOf("]");
    int secondArrStartIndex = everything.lastIndexOf("[") + 1;
    int secondArrLenght = everything.lastIndexOf("]") - secondArrStartIndex;
    String[] firstStrArr = everything.substring(1, firstArrLenght).split(",");
    String[] secondStrArr = everything.substring(secondArrStartIndex, secondArrLenght).split(",");

eclipse 不喜欢这些行。我想在这里将字符串数组转换为整数。然后我会将整数用于其他逻辑。

    int[] firstArray = transformToInt(firstStrArr);
    int[] secondArray = transformToInt(secondStrArr);

}


private static int[] transformToInt(String[] arr) {
    int[] result = new int[arr.length];
    for(int i = 0; i < arr.length; i++) {
        result[i] = Integer.parseInt(arr[i].trim());
    }

    return result;
}

异常堆栈跟踪:

Exception in thread "main" java.lang.NumberFormatException: 
For input string: "" at java.lang.NumberFormatException.forInputString(Unknown Source)
 at java.lang.Integer.parseInt(Unknown Source)
 at java.lang.Integer.parseInt(Unknown Source)
 at Java.transformToInt(Java.java:38)
 at Java.main(Java.java:30) 

知道哪里出了问题吗?

最佳答案

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

所以你试图解析的当前字符串在行中是空的

  result[i] = Integer.parseInt(arr[i].trim());

不可能从一个空字符串中得到一个整数值,这就是exception所说的。

你能做的只是在解析之前检查String是否为空。

关于java - 将 String 转换为 Integer 时出现 NumberFormatException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19420265/

相关文章:

java - 如何使用 PowerMock 测试从同一类调用另一个私有(private) void 方法的方法?

java - 定时器任务和线程以及内部类

java - 无法实例化 Activity ComponentInfo{com.example.ragefacefolks/com.example.ragefacefolks.MainActivity} : java. lang.NullPointerException

java - 在类路径上添加属性文件

java - 图标处理抛出 NullPointerException

java - FileWriter 输出到 csv 文件为空

java - Spring 从另一个项目导入应用程序上下文

java - 选择具有匹配列名的所有表

java - 如何从另一个类访问私有(private)对象?

java - 在 Java 中迭代对象的 TreeMap(不是字符串!!)