浏览 4076 次
锁定老帖子 主题:java多维数组的创建
精华帖 (0) :: 良好帖 (0) :: 新手帖 (17) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2008-12-26
最后修改:2009-06-16
public static void main(String[] args){ String[] strArr0={"1","2","3","4","5","6"}; String[] strArr1={"1","2","3","4","5","6"}; String[][] strArr2=null; if(strArr0!=null && strArr0.length>0){ strArr2=new String[strArr0.length][]; for(int i=0;i<strArr0.length;i++){ // strArr2[i]=new String[strArr1.length];缺少这一句的话 for(int k=0;k<strArr1.length;k++){ strArr2[i][k]=strArr1[k];//这里肯定会出现一个null的空指针异常 System.out.println("strArr2["+i+"]["+k+"]="+strArr2[i][k]); } } } } 正确的应该是下面 public static void main(String[] args){ String[] strArr0={"1","2","3","4","5","6"}; String[] strArr1={"1","2","3","4","5","6"}; String[][] strArr2=null; if(strArr0!=null && strArr0.length>0){ strArr2=new String[strArr0.length][]; for(int i=0;i<strArr0.length;i++){ strArr2[i]=new String[strArr1.length];//初始化长度 for(int k=0;k<strArr1.length;k++){ strArr2[i][k]=strArr1[k];//然后在这里为其赋值 System.out.println("strArr2["+i+"]["+k+"]="+strArr2[i][k]); } } } } 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2008-12-26
这种多维数组定不定长没有太大的意义,其实就是一个Object[][]
c的多维特性可以通过 rowIdx * columnNum + columnInx 取到数据,在大量循环的时候内存寻址性能上有提高,而这种貌似就不行 |
|
返回顶楼 | |
发表时间:2008-12-31
oxromantic 写道 这种多维数组定不定长没有太大的意义,其实就是一个Object[][]c的多维特性可以通过 rowIdx * columnNum + columnInx 取到数据,在大量循环的时候内存寻址性能上有提高,而这种貌似就不行 你说的对。当然C和java两个是有区别的。 |
|
返回顶楼 | |