1 数组是引用类型
2 java虚拟机在装入数组时,会根据数组元素的类型以及数组维度创建对应的Class对象,数组元素的类型和维度唯一确认了数组类的Class对象,比如下面的代码:
public static void main (String[] args) { int[] a = new int[5]; System.out.println(a); String[] b = new String[5]; System.out.println(b); ForkJoinDemo[] c = new ForkJoinDemo[5]; System.out.println(c); String[][] aa = new String[3][]; aa[0] = new String[3]; System.out.println(aa[0]); ForkJoinDemo[][] cc = new ForkJoinDemo[3][]; cc[0] = new ForkJoinDemo[3]; System.out.println(cc); System.out.println(cc[0]); }
打印结果:
[I@136a43c [Ljava.lang.String;@589e56 [Lcom.malone.threadCurr.ForkJoinDemo;@3411a [Ljava.lang.String;@edf3f6 [[Lcom.malone.threadCurr.ForkJoinDemo;@2bc3f5 [Lcom.malone.threadCurr.ForkJoinDemo;@14e3f41
打印结果前半段为class的名称;由此可以知道虚拟机会为根据数组元素的类型和数组的维度创建Class对象,类命名规则为:
1 根据维度决定[的个数,维度为1则以一个[开头,为2以两个[[开头,以此类推
2 如果数组元素的类型为基础数据类型,比如int, long 则以首字母大写跟在[后面
3 如果数组元素类型为引用类型,则在[后面加一个大写的L然后再引用类的名称
虚拟机根据数组元素类型和维度来唯一创建类:
public class ForkJoinDemo { public static void main (String[] args) { int[] a = new int[5]; System.out.println(a.getClass()); int[] b = new int[100]; System.out.println(b.getClass()); System.out.println(a.getClass() == b.getClass()); ForkJoinDemo[] c = new ForkJoinDemo[5]; System.out.println(c.getClass()); ForkJoinDemo[] d = new ForkJoinDemo[100]; System.out.println(d.getClass()); System.out.println(c.getClass() == d.getClass()); } }
打印结果:
class [I class [I true class [Lcom.malone.threadCurr.ForkJoinDemo; class [Lcom.malone.threadCurr.ForkJoinDemo; true
相关推荐
Java数组阶段的选择题、填空题、编程题、判断题都有,适合想自己测试下的学生以及准备出题的老师
Java数组在内存分配方面的知识;Java数组的静态特征;对于数组变量而言,一定要区分它何时是数组变量,何时代表数组对象本身。
java 数组初始化 详解 doc
java 数组求和计算 java 数组求和计算 java 数组求和计算
第03讲 JAVA数组.ppt第03讲 JAVA数组.ppt第03讲 JAVA数组.ppt第03讲 JAVA数组.ppt第03讲 JAVA数组.ppt第03讲 JAVA数组.ppt
Java数组的详细资料纤细介绍了Java数组的使用从零开始学习Java数组解决你学习过程中遇到的问题........
java 数组下标越界异常(ArrayIndexOutOfBoundsException) java 数组下标越界异常(ArrayIndexOutOfBoundsException)
java数组排序的思想,过程和代码实现。多种数组排序的方法,主要有冒泡排序,堆排序,插入排序, 归并操作(merge), 归并操作(merge),选择排序,希尔排序。
主要介绍了Java数组越界问题实例解析,具有一定参考价值,需要的朋友可以了解下。
Java数组扩容的原理 1)Java数组对象的大小是固定不变的,数组对象是不可扩容的。 2)利用数组复制方法可以变通的实现数组扩容。 3)System.arraycopy()可以复制数组。 4)Arrays.copyOf()可以简便的...
java 数组和字符串
46.java数组遍历1.zip46.java数组遍历1.zip46.java数组遍历1.zip46.java数组遍历1.zip46.java数组遍历1.zip46.java数组遍历1.zip46.java数组遍历1.zip46.java数组遍历1.zip46.java数组遍历1.zip46.java数组遍历1.zip...
43.java数组定义1.zip43.java数组定义1.zip43.java数组定义1.zip43.java数组定义1.zip43.java数组定义1.zip43.java数组定义1.zip43.java数组定义1.zip43.java数组定义1.zip43.java数组定义1.zip43.java数组定义1.zip...
22.java数组的复制.zip22.java数组的复制.zip22.java数组的复制.zip22.java数组的复制.zip22.java数组的复制.zip22.java数组的复制.zip22.java数组的复制.zip22.java数组的复制.zip22.java数组的复制.zip22.java数组...
20.java数组空间分配.zip20.java数组空间分配.zip20.java数组空间分配.zip20.java数组空间分配.zip20.java数组空间分配.zip20.java数组空间分配.zip20.java数组空间分配.zip20.java数组空间分配.zip20.java数组空间...
45.java数组动态初始化.zip45.java数组动态初始化.zip45.java数组动态初始化.zip45.java数组动态初始化.zip45.java数组动态初始化.zip45.java数组动态初始化.zip45.java数组动态初始化.zip45.java数组动态初始化.zip...
44.java数组静态初始化.zip44.java数组静态初始化.zip44.java数组静态初始化.zip44.java数组静态初始化.zip44.java数组静态初始化.zip44.java数组静态初始化.zip44.java数组静态初始化.zip44.java数组静态初始化.zip...
对数组的总结和分析,通过这个结构记住它,在开发的过程中使用
Java数组工具类
有关JAVA数组中方法的讲解,此教程为文档教程,此文档为JAVA中数组的上半部分。