你看下这个打印结果就明白了。- public class ReflectTest {
- public static void main(String[] args) {
- // TODO Auto-generated method stub
- int [] a1 = new int[3];
- int [] a2 = new int [4];
- int [] [] a3 = new int [2] [3];
- String [] a4 = new String[3];
-
- Class a1c,a2c,a3c,a4c;
-
- a1c = a1.getClass();
- a2c = a2.getClass();
- a3c = a3.getClass();
- a4c = a4.getClass();
-
-
- System.out.println("a1.getClass(): " + a1c.getName());
- System.out.println("a2.getClass(): " + a2c.getName());
- System.out.println("a3.getClass(): " + a3c.getName());
- System.out.println("a4.getClass(): " + a4c.getName());
-
- // System.out.println(a1.getClass() == a3.getClass());
- // System.out.println(a1.getClass() == a4.getClass());
- }
- }
复制代码
结果是:
a1.getClass(): [I
a2.getClass(): [I
a3.getClass(): [[I
a4.getClass(): [Ljava.lang.String;
你的a3 对象所属的是一个二维int型数组类 其实就是int[][].class, a4这个对象是String一维数组类就是String[].class这个类。
不是看你把这两个对象用在哪个类里就能用getClass得到使用他们的那个对象所属的类,getClass方法的概念要弄清楚。
字节码的话,应该是.class。 |