gpt4 book ai didi

java - 数组变量基类型

转载 作者:行者123 更新时间:2023-11-29 04:16:46 25 4
gpt4 key购买 nike

在Java中声明Array变量时

Int Myarray [];

我们已经将基类型声明为 int(在上面的例子中)。

那为什么我们在使用new的时候还要重新定义类型

Myarray = new int[12];

为什么不能像下面这样

Myarray = new[12]

//因为我们已经知道这个数组的基类型是int。

最佳答案

传统上,Java 是冗长的。最近的版本试图通过遵循“不要重复自己”(DRY) 原则来促进简洁。例如,在 Java 6 中,您可以这样写:

List<String> myList = new ArrayList<String>();

但 Java 7 允许:

List<String> myList = new ArrayList<>();

数组则不同。这是因为,出于与最初糟糕的设计决策的向后兼容性的原因,您可以:

Object[] myArray = new String[10];

滥用 myArray 现在会导致 ArrayStoreException。但事实仍然是,您可以像上面那样声明和初始化 myArray,因为 Java 1.0 允许它并且更高版本必须兼容。所以现在,我们不能写

Animal[] myArray = new [10];

因为编译器不知道我们是想用 Dog[10] 还是 Cat[10] 来初始化它。

Java 10 提供了 var 关键字来初始化局部变量,这意味着您不必重复类型名称:

var myArray = new int[10];

此处 myArray 的编译时类型为 int[]。编译器允许我们对 myArray 执行所有 int 数组操作,就像我们将其声明为 int[] 一样,因为这正是是的。

关于java - 数组变量基类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51892949/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com