1. 编译器不允许指定数组的大小

int[] a1;

既然编译器不允许指定数组的大小,现在 a1 拥有的只是对数组的一个引用,且未给该数组对象本身分配任何空间。为了给数组创建对应的存储空间,必须写初始化表达式。

int[] a1 = {1, 2, 3, 4, 5};

那么,为什么还在没有数组的时候定义一个数组引用呢?

int[] a2;

在 Java 中可以将一个数组赋值给另一个数组:

a2 = a1;

这样真正实现的仅仅是复制了一个引用。

2. final 数组

java中的final 数组

final 修饰对象引用,或者数组(数组也是一种引用),此对象引用不可以再指向别的对象。

final int[] b = {1,2};
b[1]++;             // 允许,b[1] == 3,数组内部的元素可变
b = new int[3];         // 不允许,
posted on 2017-08-27 16:16  未雨愁眸  阅读(155)  评论(0编辑  收藏  举报