for example String ss[][]=new String[row][2]; row += 10; String[][] tss = new String[row][2]; for (int i=0; i<ss.length; i++) { tss[i] = Arrays.copy(ss[i], ss[i].length); } ss = tss;
给个例子你参考下 public class TestDArray { public static void main(String[] g) { int[][] a = new int[4][]; a[0] = new int[1]; a[1] = new int[2]; a[2] = new int[3]; a[3] = new int[4]; int k = 0; for (int i = 0; i < a.length; i++) { for (int j = 0; j < a[i].length; j++) { a[i][j] = k++; } } for (int i = 0; i < a.length; i++) { for (int j = 0; j < a[i].length; j++) { System.out.print(a[i][j] + " "); } System.out.println(); } }
}
1楼那个最后一句ss=tss;是什么意思?
String ss[][]=new String[row][2]; row += 10; String[][] tss = new String[row][2]; for (int i=0; i<ss.length; i++) { tss[i] = Arrays.copy(ss[i], ss[i].length); } ss = tss; //让ss指向tss所引用的数组对象,这样,ss就指向了新的长度的数组对象,原来ss所引用的对象就可以被回收了
String ss[][]=new String[row][2];
row += 10;
String[][] tss = new String[row][2];
for (int i=0; i<ss.length; i++) {
tss[i] = Arrays.copy(ss[i], ss[i].length);
}
ss = tss;
public class TestDArray
{
public static void main(String[] g)
{
int[][] a = new int[4][];
a[0] = new int[1];
a[1] = new int[2];
a[2] = new int[3];
a[3] = new int[4]; int k = 0;
for (int i = 0; i < a.length; i++)
{
for (int j = 0; j < a[i].length; j++)
{
a[i][j] = k++;
}
} for (int i = 0; i < a.length; i++)
{
for (int j = 0; j < a[i].length; j++)
{
System.out.print(a[i][j] + " ");
}
System.out.println();
}
}
}
row += 10;
String[][] tss = new String[row][2];
for (int i=0; i<ss.length; i++) {
tss[i] = Arrays.copy(ss[i], ss[i].length);
}
ss = tss; //让ss指向tss所引用的数组对象,这样,ss就指向了新的长度的数组对象,原来ss所引用的对象就可以被回收了