黑马程序员技术交流社区
标题:
请教各位大神数组(如int[])的类放在哪里,为什么API里查不到
[打印本页]
作者:
hysnxdss
时间:
2016-9-16 21:24
标题:
请教各位大神数组(如int[])的类放在哪里,为什么API里查不到
创建一个数组
int[] arr = new int[3];
通过arr.getClass().getName();得到类的全名称是
[I 恩? 这是什么鬼? 不是说要用合法的标识符起类名??
这是什么情况? 请大神指点
想知道为什么通过length属性可以获得数组长度而不是通过方法
作者:
somnus-sir
时间:
2016-9-16 21:48
[I 表示一维数组的Int类型。
[[D 就是二维数组的double类型
//下面部分取自百度,我也没看懂,仅供参考
数组的length即不是方法,也不是字段。
在一个数组对象上调用length,会被Java编译器编译成一条arraylength指令(Java binary code)。
而访问字段的语句会被编译成getfield或getstatic指令,调用方法的语句则会被编译成invokestatic,invokevirtual或invokespecial等指令。
作者:
NewsmallWhite
时间:
2016-9-16 22:04
你可以定义一个一维数组,然后打印这个数组的引用,这样你就发现打印的是[I,表示这是个一维数组,二维数组就是[[I,I表示Int类型的数组,
作者:
hysnxdss
时间:
2016-9-17 20:59
somnus-sir 发表于 2016-9-16 21:48
[I 表示一维数组的Int类型。
[[D 就是二维数组的double类型
也就是说数组被Java封装到啦底层,没有放到任何一个类里,当用的时候由JVM来解析再返回给掉用者
不懂?
为什么要这样设计?
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2