如何在java中实现数组?

时间:2010-02-15 17:41:16

标签: java arrays constants

数组实现为java中的对象吗?如果是这样,我在哪里可以查看数组类的源代码。我想知道数组中的长度变量是否定义为常量,如果是这样,为什么它不是所有大写字母LENGTH使代码更容易理解。

4 个答案:

答案 0 :(得分:19)

虽然数组是继承java.lang.Object的意义上的对象,但这些类是作为该语言的特殊功能动态创建的。它们没有在源代码中定义。

考虑这个数组:

MySpecialCustomObject[] array;

没有这样的源代码。您已在代码中动态创建它。

长度为小写的原因和字段实际上是关于后来的Java编码标准在开发时不存在的事实。如果今天正在开发一个数组,它可能是一个方法:getLength()。

长度是在对象构造中定义的最终字段,它不是常量,因此一些编码标准不希望它是大写的。但是一般来说,在今天的Java中,一般都是以大写形式作为常量完成,或者使用公共getter方法标记为private,即使它是最终的。

答案 1 :(得分:0)

对于我们声明的每个Array,Java中都有相应的类,但是我们不可用。您可以使用getClass()。getName()

查看这些类
    int[] arr=new int[10];
    System.out.println(arr.getClass().getName());

输出: [I

其中“ [”代表一维数组,“ I ”代表整数。 同样,我们可以拥有

    [F for one-dimensional float arrays
    [Z for one-dimensional boolean arrays
    [J for one-dimensional long arrays
    [[I for two-dimensional int arrays

以此类推。

答案 2 :(得分:-1)

在Java中实现数组需要访问内存位置或执行指针算术。由于Java不允许您分配内存,因此它会为您执行Arrays实现。 Java语言提供了该实现。

答案 3 :(得分:-2)

我们可以说,数组是一个容器,它包含固定长度的单一数据类型的数据。 例如。

int[] MyArray = new int[101]; // allocates memory for 101 integers, Range from 0 to 100.

和多维

String[][] names = {{"FirstName", "LastName"},{"Kaji", "Islam"},...};

和字符数组

char[] ch={'a','b'....};