首页 > 解决方案 > 从字符串 ArrayList 转换为整数数组(Java)

问题描述

我有一个名为行的 ArrayList。这包含一个由逗号分隔的多个 0 和 1 的文本文件。我的问题是尝试将此数组列表转换为整数数组。我尝试了以下方法,但仍在苦苦挣扎。我错过了什么?

    int[][] result = new int [lines.size()][];
    for (int i = 0; i<result.length; i++) {
        result.add(Integer.valueOf(lines.getString(i)));
    }

    int[][] result = new int [lines.size()][];
    for(int i = 0; i<result.length; i++) {
        result[i] = Integer.parseInt(lines.get(i)); 
    }

标签: java

解决方案


如果您真的只想将每一行解析为一个数字:

int[] result = new int [lines.size()];
for(int i = 0; i<result.length; i++) {
    result[i] = Integer.parseInt(lines.get(i)); 
}

如果你想用逗号分割每一行并有一个二维数组:

int[][] result = new int [lines.size()][];
for(int i = 0; i<result.length; i++) {
    String[] nums = lines.get(i).split(",");
    result[i] = new int[nums.length];
    for (int j=0; j<nums.length; j++){
      result[i][j] = Integer.parseInt(nums[j]);
    }
}
  • 我必须添加一个命令来用逗号分隔行。
  • 必须创建每个“低维”数组。

    结果[i] = new int[nums.length];

如果没有这个语句,result 中的每个槽都指向 null,而不是实际的 int 数组。


推荐阅读