a.length
a[0].length
a[0][0].length

解决方案 »

  1.   

    但是如果三位数组是不等长的三位数组,那就要用循环来计算每一维的各种长度了:
    Object o[]=new Object[4];
    o[0]=new Object[3];
    o[1]=new int[10];
    o[2]=new byte[12];
    ......
      

  2.   

    java里支持不等长的数组,如果是不等长的,你必须要用循环来求了,
    如果是等长的,直接取一个就可以了:
    a.length;
    a[0].length;
    a[0][0].length;
      

  3.   

    应该使用循环,因为Java数组中每一维的长度是以是不同的。
      

  4.   

    如下代码,循环体为什么不对啊?:
    class testArray {
      public static void main( String args[]){
            Object b[]=new Object[4];
            b[0]=new int[10];
            b[1]=new byte[20];
            b[2]=new String[30];
            b[3]=new char[40];
            
            for(int i=0;i<4;i++){
              System.out.println(b[i][0].length);
            }
      }
    }
      

  5.   

    for(int i=0;i<4;i++){
              System.out.println(b[i].length);
            }
      

  6.   

    for(int i=0;i<4;i++){
              System.out.println(b[i].length);
            }这样会报异常:
    testArray.java:16: cannot resolve symbol
    symbol  : variable length
    location: class java.lang.Object
              System.out.println(b[i].length);
                                  ^
    1 error
      

  7.   

    你忘了类型转换啊
    System.out.println( ( (int[])b[0]).length );
    System.out.println( ( (byte[])b[1]).length );
    System.out.println( ( (Object[])b[2]).length );
    System.out.println( ( (char[])b[3]).length );现在你也可以开始理解,为什么基本类型封装类很重要了吧
      

  8.   

    果然是!
    多谢 LDH202(玲海)!!