java读取表格后用for循环将单元格中的值用分隔符赋给一个一维数组后用for循环将这个数组的值赋给另一个数组,但数组在接受多个单元格的值后先前的索引还在,但索引下的值全都变为空(jxl读取,excel表格)
使用了相同的数组索引,导致之前的值被覆盖或丢失了
该回答引用GPT:
这个问题可能是因为数组的赋值方式不正确导致的。在循环中,如果使用数组下标进行赋值,那么每次都会覆盖掉原先下标位置上的值,而如果原先下标位置上的值没有被处理或者重新赋值,那么它的值就会消失。
解决这个问题的方法是要确保每次循环都使用一个新的变量来保存值,然后将变量赋值给数组相应的位置。另外,也可以使用ArrayList等可变数组类型,动态地向其中添加元素,而不需要考虑数组下标的问题。
在代码中,可以使用类似以下的方式:
List<String> list = new ArrayList<>();
for(int i=0;i<rowCount;i++){
String value = sheet.getCell(0, i).getContents();
String[] values = value.split(",");
for(String val:values){
list.add(val);
}
}
String[] array = list.toArray(new String[list.size()]);
这样可以确保每次都将新的值加入到List中,避免了直接赋值给数组可能出现的问题。
如还有疑问,可留言帮助解决。