`
usagoole
  • 浏览: 8124 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

java数组真的有length属性吗?希望大虾们来探讨

阅读更多

java中数组有一个length属性.几乎所有人都是这样认为的,但事实上真的有吗?请看下面代码:

		Object[] object = new Object[100];
		int i = object.getClass().getDeclaredFields().length;
		/* 为什么输出结果是0?这可不可以断定
		 * 数组中没有属性呢?
		 * 这说明length不是数组的属性
		 * 当然无论是不是属性,肯定不是方法
		 * */
		System.out.println(i);//out:0

 我的个人分析与理解:

第一、数组肯定是一个继承了Object的类,这点毋庸置疑

第二、length肯定不是方法

第三、length肯定也不是我们正常java类中的属性(除非反射有问题)

第四、有人可能说它是public static final int length = ?  (此值编译的时候确定),即length是一个常量属性

但是看代码

Object[] object = new Object[100];
Field field = object.getClass().getField("length");//抛NoSuchFieldException
System.out.println(field.get(null));//得到常量的值

 说明它不是常量

第五、我个人猜想length是一个标记,当创建一个数组的时候,就会有一个这样的标记来标记数组长度。而这个标记不是属性或者是常量。

希望各位大虾们拍砖,使劲的拍砖,谢谢大笑

 

 

 

 

 

分享到:
评论

相关推荐

    java实验数组和集合

    java代码,数组和集合,java数组.length的使用

    Java数组讲解

    //在定义数组时,如果确定数组的各个元素,可以进行静态初始化 ,在创建数组时,给数组元素赋初值 int [] data2 = new int[] {34,56,765,78}; //注意静态初始化时,不需要指定数组的长度 //通过foreach循环遍历, 增强的...

    各大互联网公司常见java面试题

    来源k6k4 ...5、数组有没有length()方法?String有没有length()方法? 6、Java支持的数据类型有哪些?什么是自动拆装箱? 7、int 和 Integer 有什么区别? 8、Java类的实例化顺序? 9、什么是值传递和引用传递?

    java数组程序关于字符串排序

    i<password.length;i++) {if(passStr.equals(password[i])) {return flag;break;} else return false; } } public void addPassWord(int password){ } public void addCard(String card){

    Java 数组平均值源码下载

    数组元素的平均求数组元素的平均值。 public class ArrayAverage1 { public static double average(int table[]) //求数组元素的平均值 { double sum=0.0; for (int i=0;i<table.length;i++) //避免数组下标...

    js利用数组length属性清空和截短数组的小例子

    主要介绍了js利用数组length属性清空和截短数组的小例子,有需要的朋友可以参考一下

    JS 操作Array数组的方法及属性实例解析

    本文总结了Array数组的3个属性,length 属性、prototype 属性、constructor 属性使用,并附注数组对象的8个分类及多个方法使用,具体如下: 对象的3个属性1、length 属性 length 属性Length属性表示数组的长度,即...

    数组的属性及方法的使用

    数组的属性及方法的使用 如: public class ArrayDemo10{ public static void main(String args[]){ int score[][][] = { { {5,1} ,{6,7} }, { {9,4},{8,3} } } ; // 静态初始化完成,每...

    Vue不能观察到数组length的变化

    因为vue的响应式是通过 Object.defineProperty 来实现的,但是数组的length属性是不能添加getter和setter,所有无法通过观察length来判断。 为什么Vue不能观察到数组length的变化 如下代码,虽然看起来数组的length...

    学习Java,你需要知道这些——Java数组

    二每个数组都有一 个由public final修饰的成员变量: length,即数组含有元素的个数( length可以是正数或零) 数组元素 数组中的变量被称作数组的元素 元素没有名字,通过数组名字和非负整数下标值引用数组元素 数组的...

    JAVA中的二维数组

    具体请参考本人FTP\\5.0S1\\JAVA\\数组完整操作范例。[重复让人如此崩溃!] 二维数组 1. 定义:省略 2. 用法: 声明并赋值: //声明时赋值 int [][]arr={ {1,2,3}, {4,5,6}, {7,8,9} }; 输出...

    二维数组排序

    // 二维数组冒泡排序 public static void main(String[] args) { int i=0, j=0, temp = 0; int[][] nums1 = { { 34, 1, 22, 5 }, { 28, 98, 15, 32 }, { 33, -5, 17, 41 } }; int rows = nums1.length; //二维...

    Java中的length字段和length()方法

    首先,你能快速回答下面的问题吗?  如果没有IDE(集成开发环境)的自动补全功能,如何获取数组和字符串的长度?  我问了不同等级的开发者(初级和中级)同样...//数组的length属性 String str = abc; System.ou

    Java中的length和length()深入分析

    java中的length属性是针对数组说的,比如说你声明了一个数组,想知道这个数组的长度则用到了length这个属性。java中的length()方法是针对字符串String说的,如果想看这个字符串的长度则用到length()这个方法。这篇文章...

    matlab求数组长度-使用 length 函数来求数组的长度

    matlab求数组长度-使用 length 函数来求数组的长度

    MATLAB-求数组长度.docx

    在MATLAB中,可以使用length函数来求取数组的长度(或者称为数组的元素个数)。length函数返回数组的最大维度大小。下面是一些示例来说明如何使用length函数来求取数组的长度: 一维数组的长度: Matlab code arr ...

    matlab数组长度length

    [r,c]=size(A),当有两个输出参数时,size函数将数组的行数返回到第一个输出变量,将数组的列数返回到第二个输出变量。 如果在size函数的输入参数中再添加一项,并用1或2为该项赋值,则size将返回数组的行数或列...

    Visual studio 2015 标准课程第五章 数组数组的LengTh属

    Visual studio 2015 标准课程第五章 数组数组的LengTh属性和Rank属性

    Javascript学习笔记之数组的遍历和 length 属性

    尽管数组在 Javascript 中是对象,但是不建议使用 for in 循环来遍历数组,实际上,有很多理由来阻止我们对数组使用 for in 循环。 因为 for in 循环将会枚举原型链上的所有属性,并且唯一阻止的方法是使用 ...

Global site tag (gtag.js) - Google Analytics