2011-11-21 83 views
2

嘿家伙我有一些困难,这是我想要的字符串数组值复制到新的字符串数组 例如:如何复制字符串数组

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........; 

也许你们可以帮助我如何复制所有的值进入新的字符串数组感谢

我已经尝试这种方法,但它让我给空指针的问题,每当我要插入新的价值:

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(""); 
    } 

比ks

回答

1

首先,新阵列有更多的元素来源数组,所以决定你想要做什么。另外,如果旧阵列被称为阵列以不同的名称调用新阵列,如newarray

for (int i = 0; i < 3; ++i) 
{ 
    for(int j = 0; j < 2; ++i) 
    { 
     newarray[i][j] = array[i][j]; 
    } 
} 
+0

如果我想的是具有相同名称的两个数组有没有办法做到这一点?感谢 – Carlo

+0

你可以将它复制到一个新阵列中。然后做'array = newarray'。复制你需要能够引用来源和目的地,如果他们都被称为相同,它可能会得到三轮车 –

9

的Java有一个内置的函数调用arraycopy,可以为循环为你做这个没有双。效率更高。

+0

你仍然必须调用arraycopy的第二维项目。对? –

+0

顺便说一句如何调用第二个dimmennsion进行复制 – Carlo

0

您可以使用Arrays.copyOfRange(字符串PARAM,的fromIndex,toIndex)

相关问题