Java 数组对象

发布时间:2019-08-06 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了Java 数组对象脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

数组是一种能够通过位置索引,快速、随机地存取其中元素的集合数据结构。

对象类型

In the Java PRogramming language, arrays are objects (§4.3.1), are dynamically created, and may be assigned to VARiables of tyPE Object (§4.3.2). All methods of class Object may be invoked on an array.

注意:数组元素(内容)本身可以是基本数据类型或对象引用类型,但是数组变量(引用)则指向数组对象。数组对象并非是从某个类实例化而来,而是由 JVM 直接创建的。因此查看数组对象类名的时侯会发现都是一些奇怪的类似于 "[I" 这样的字符。

数组对象的父类是 java.lang.Object,所以可以调用 Object 类中的所有方法如 toString()。

实现如下:

public String toString() {
    return getClass().getName() + "@" + Integer.toHexString(hashCode());
}

每个数组对象对应的类,可以通过 RTTI(Run-time Type Information)于运行时检查

char[] c = {'a', 'b', 'c'} 
int[] i = {1, 2, 3}
long[] l = {1l, 2l, 3l}
float[] i = {1f, 2f, 3f}
String[] s={"aa","bb","cc"};

System.out.println(c);
System.out.println(i);
System.out.println(l);
System.out.println(f);
System.out.println(s);

Output:

[C
[I
[J
[F
[Ljava.lang.String

数组对象可以获取长度属性(只读) length。
数组是不可变的,指的就是数组长度内的内存空间。数组元素的内容允许通过赋值形式改变,而对数组变量赋值则会指向不同数组对象。

有关内存分配:
声明数组只是分配固定的引用空间大小,由于尚未赋值不指向任何数组对象。
数组对象一定存放在堆上,数组变量则不一定。不管是基本类型变量,还是对象引用类型变量,只要是局部变量就存放在上,对象引用类型变量指向的对象则一定存放在上。

数组使用

Java 是一门强类型、静态类型语言,编译器会根据数组的声明类型止放入错误类型。

数组初始化方式:

case 1:

int[] arr = {1, 2, 3};

case 2:

int[] arr = new int[]{1, 2, 3};

case 3:

int[] arr = new int[3];
arr[0] = 1; arr[1] = 2; arr[2] = 3;

bad case 1: 不能在给定初始值的同时给定长度

int[] arr = new int[3]{1, 2, 3};

初始值已经决定数组长度,若再给出长度限制,两者不一致 Java 将无法正常工作。

我们通过数组变量结合位置索引,即可操作数组中的元素。

脚本宝典总结

以上是脚本宝典为你收集整理的Java 数组对象全部内容,希望文章能够帮你解决Java 数组对象所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。