`
usagoole
  • 浏览: 8444 次
  • 性别: 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数组与内存控制

    - 对于多维数组,可以逐级访问各个维度的`length`属性来获取对应维度的长度。 #### 总结 Java数组在内存分配方面具有一定的灵活性和限制性。数组的声明并不会立即分配内存,而是通过`new`关键字显式创建数组时才...

    Java数组练习题(带答案).doc

    Java数组是Java编程语言中的基本数据结构之一,用于存储固定数量的同类型元素。了解和熟练掌握数组的使用是学习Java的重要环节。本篇练习题涵盖了数组的基本概念、操作和异常处理,下面是针对题目中涉及知识点的详细...

    java数组

    Java还提供了`length`属性来获取数组的长度: ```java int arrayLength = numbers.length; ``` 三、多维数组 Java支持多维数组,例如二维数组(数组的数组)常用于表示矩阵: ```java int[][] matrix = new int[3]...

    java数组函数(摘自JAVA编程思想)

    要获取数组的长度,可以使用`length`属性: ```java int length = numbers.length; ``` 5. **多维数组** Java还支持多维数组,如二维数组,可以理解为数组的数组: ```java int[][] matrix = new int[3][4];...

    java数组_java_java数组_

    `length` 属性是所有Java数组都有的,可以获取数组的元素数量。例如,`numbers.length` 返回数组`numbers`的元素个数。 4. **多维数组** Java支持多维数组,即数组的数组。例如,创建一个2D数组(矩阵): ```...

    java数组排序

    它涉及到不同的算法,这些算法通过比较和交换元素来达到数组元素的有序状态。本篇将详细探讨几种常见的排序算法及其在Java中的实现。 首先,让我们从最简单的排序算法——冒泡排序开始。冒泡排序是一种直观的排序...

    Java数组相关的例子代码

    本篇将深入探讨Java数组的相关知识点,并通过实际的例子代码来加深理解。 1. **数组的声明与初始化** 在Java中,我们可以声明一个数组并同时初始化它。例如,创建一个包含5个整数的数组: ```java int[] ...

    5-Java数组与方法

    本章将深入探讨数组的基本概念、定义以及如何在实际编程中使用它们。 首先,数组是Java中的基本类型之一,它是由相同类型的数据项组成的有序集合。每个数据项都有一个唯一的索引,从0开始,到数组长度减1。例如,一...

    java 数组的合并

    本篇文章将详细探讨Java中如何实现数组的合并。 首先,我们要了解Java中的数组。数组是由相同类型的数据元素构成的有序集合,可以通过索引来访问每个元素。例如,我们可以声明一个整型数组: ```java int[] ...

    java 数组 PPT

    在本PPT中,我们将深入探讨Java数组的概念、创建、初始化、访问和操作数组的各种方法。 一、数组的概念 数组是一种线性数据结构,它将固定数量且类型相同的变量集合在一起。在Java中,数组提供了一种高效的方式来...

    java 数组求和计算

    这里我们将深入探讨如何在Java中进行数组求和计算,并讨论相关的一些扩展知识。 1. **数组的基本概念**: - 在Java中,数组是一个对象,它包含固定数量的元素,这些元素可以是任何基本类型(如int,double,char)...

    第03讲 JAVA数组.ppt

    每个数组都有一个`length`属性来获取数组的长度。 引用数据类型的数组示例: ```java public class ArrayTest{ public static void main(String args[]){ Employee[] m; m = new Employee[10]; m[0] = new ...

    Java数组,Java数组,多线程编程

    Java数组是程序设计中的基本构建块,它允许程序员存储多个相同类型的数据在一个单一的结构中。在Java中,数组是一种对象,它们具有固定的大小,并且一旦创建,就不能更改其长度。数组提供了通过索引来访问其元素的...

    Java数组传递及可变参数操作实例详解

    Java数组传递及可变参数操作实例详解 Java 数组传递是指在方法之间传递数组对象的引用,而不是传递数组对象本身。这意味着,方法中对数组的修改将会影响原数组。在 Java 中,所有对象都是通过引用进行操作的,而...

    Java数组倒置.rar

    要实现Java数组的倒置,有多种方法,这里介绍两种常见的实现方式: 1. 使用双指针法: 这种方法通常涉及设置两个指针,一个指向数组的起始位置(索引0),另一个指向数组的末尾(索引length-1)。然后通过交换这两...

    java数组资料

    - `数组名.length`属性返回数组的长度,即数组中元素的数量。 - 例如:`int length = myArray.length;` 8. **数组的拷贝** - `System.arraycopy()`方法可用于复制数组的一部分或全部到另一个数组。 - 例如:`...

    java数组基础与典型应用

    - **索引范围**:数组元素的索引从0开始,最大值为`length-1`,其中`length`属性表示数组的长度。 - **下标检查**:Java在运行时会检查数组索引是否越界,如果访问超出索引范围,则会抛出`...

    Java 数组练习

    Java提供了一些内置的方法来处理数组,如`clone()`用于复制数组,`System.arraycopy()`用于复制数组的一部分,`Arrays.sort()`对数组进行排序。 7. **数组与ArrayList比较** 虽然数组提供了高效的数据访问,但其...

Global site tag (gtag.js) - Google Analytics