【发布时间】:2019-01-13 12:47:23
【问题描述】:
int[] myArray = new int[5];
大家好, 我知道还有其他方法可以初始化数组,例如:
int[] myArray = {1,2,3,4,5};
但是你能告诉我上面例子中的第二个int 代表什么吗?
我认为第一个“int”已经指定数组具有整数值,不是吗?
【问题讨论】:
-
是的,它指定值是整数,但不允许有多少值
-
定义一个有空间容纳 5 个 int 的数组。您可以在此链接上找到更多信息:stackoverflow.com/questions/6222531/…
-
第一个
int用于声明:此变量将是一个包含原始int元素的数组。第二个int用于实例化:您正在分配内存来保存int元素。 -
第一个
int是变量myArray类型规范的一部分。第二个int是实例化int数组的Java 表达式的一部分。该表达式为变量的初始化生成了一个正确类型的对象,这确实源于int的重复,但这并不意味着它是多余的。 -
@AvoKarato 您提出的替代方案在语法上无效。
new运算符需要类型作为其操作数,而[5]不是类型。您可以将重复类型的要求视为一种安全机制,但我更愿意通过查看整个语句来理解它是两个基本独立的部分(变量声明和初始化程序)的复合,每个部分都有自己的规则。 Java 要求在实例化数组的方式上保持一致性。
标签: java arrays initialization