更改数组的值

时间:2016-11-14 10:07:00

标签: java arrays

我有这段代码:

List<String[]> list = csvReader.readAll();
// Convert to 2D array
String[][] dataArr = new String[list.size()][];

现在我想以特定值替换一些char。

dataArr = list.toArray(dataArr);
String help = Arrays.toString(dataArr[0]).replace("[", "");
dataArr[0] = help;

但是我收到了这个错误:

  

不兼容的类型:字符串无法转换为String []

我的问题是,我该如何解决这个问题?

编辑:

哇,谢谢所有的输入。

我必须更具体一点,这是我的输入文件:

  

[0,0,0,1,1]

     

[1,1,1,1,1]

     

[0,0,0,0,0]

     

[1,0,1,0,1]

     

[0,1,0,1,0]

这一行:

System.out.println(Arrays.deepToString(dataArr));

导致以下输出:

  

[[[0,0,0,1,1]],[[1,1,1,1,1]],[[0,0,0,0,0]],[[1, 0,1,0,1]],[[0,1,0,1,0]]]

我想替换双重&#34; [[&#34;和&#34;]]&#34;到&#34; [&#34;和&#34;]&#34;。

4 个答案:

答案 0 :(得分:1)

要替换所有“[[”,您只需使用

即可
String output = Arrays.deepToString(dataArr);
output = output.replaceAll("\\[\\[","\\[");
output = output.replaceAll("\\]\\]","\\]");
output = output.substring(2, output.length()-2);
String[] matrix = output.split("\\],\\[");

那应该这样做

答案 1 :(得分:1)

dataArr是一个字符串的2D数组。您正在尝试将help String分配给dataArr [0],它是一个字符串数组。你必须指定第二个索引,例如

dataArr[0][0] = help;

答案 2 :(得分:0)

dataArr的类型为String [] []

您无法使用

为其指定字符串
dataArr[0] = help;

答案 3 :(得分:0)

dataArr[0] = help;

这是你的问题。可以通过以下方式解决:

dataArr[0][0] = help;