java 为啥数组名.length就能获取数组的长度

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 为啥数组名.length就能获取数组的长度相关的知识,希望对你有一定的参考价值。

java数组是java原生支持的,本质是由底层c支持的,你可以从jdk安装路径下include下的jni.h中得到一点点启发, 有一个函数GetArrayLength用来支持获取数组长度. 如果你想看源码,可以下载一个openJDK 参考技术A 你这块的数组名就是一个数组对象, length 是数组的属性。对象.属性 得到的就是这个属性的值,也就是长度的值了追问

是不是 在定义数组的时候 就已经给它赋值了

追答

怎么说呢,如果只是定义了一个数组,默认值为0,当你给这个数组赋值时。数组的长度就是这个数组中数据的多少。

参考技术B 不对的,字符串有成员函数length(),
可以通过调用
str.length()
来获得字符串的长度
数组的length是一个静态成员变量,不是方法,array.length就是数组的长度
参考技术C 你这个问题,唉,人家给你封装好的你用就行了么,实在想知道的话看源码追问

这个源码在什么位置啊

Java 数组 获取二维数组的行数和列数

  对于Object[][] array,array.length返回行数,array[0].length返回列数,元素个数为array.length*array[0].length。

 

  参考资料

  在JAVA中怎样求二维数组的行数和列数?

以上是关于java 为啥数组名.length就能获取数组的长度的主要内容,如果未能解决你的问题,请参考以下文章

javascript里经常用length-1得到最后一个元素,为啥减1就能得到最后一个呢?

为啥 .length() 不是 Java 中数组的方法? [复制]

Java 数组

JAVA数组的操作

java分配内存空间

Java中为啥有些变量后面有.length,是啥意思?