嘿伙计我有一些困难,我想将字符串数组值复制到新的字符串数组中 例如:
String[][] array = new String[3][2];
array[0][0] = "hello";
array[0][1] = "1";
array[1][0] = "guys";
array[1][1] = "2";
array[2][0] = "good ";
array[2][1] = "3";
array = new String [5][2];
all the value in the first array to be copied
array[3][0] = "";
array........;
也许你们可以帮助我如何将所有值复制到新的字符串数组中,谢谢
我已经尝试过这种方法,但每当我想插入新值时,它就会让我发出nullpointer问题:
String[][] array = new String[3][2];
array[0][0] = "olo";
array[0][1] = "ada ";
array[1][0] = "apa";
array[1][1] = "dengan";
array[2][0] = "si ";
array[2][1] = "carlo";
String[][] newArray = new String[5][2];
newArray = Arrays.copyOf(array, 5);
array = new String[5][2];
array = Arrays.copyOf(newArray, 5);
array[3][0] = "lo";
array[3][1] = "gw";
array[4][0] = "end";
array[4][1] = "ennnnnd";
for (int r = 0; r < array.length; r++) {
for (int c = 0; c < array[r].length; c++) {
System.out.print(" " + array[r][c]);
}
System.out.println("");
}
感谢
答案 0 :(得分:9)
Java有一个名为arraycopy的内置函数,可以在没有双循环的情况下为您执行此操作。效率更高。
答案 1 :(得分:1)
首先,较新的数组有更多元素来源数组,因此决定你想要做什么。此外,如果旧数组被称为数组,则使用其他名称调用新数组,例如 newarray 。
for ( int i = 0; i < 3; ++i )
{
for( int j = 0; j < 2; ++i )
{
newarray[i][j] = array[i][j];
}
}
答案 2 :(得分:0)
你可以使用Arrays.copyOfRange(String param,fromIndex,toIndex)