【发布时间】:2018-04-08 06:57:44
【问题描述】:
为什么我们不需要导入任何包来在java中声明和使用数组?既然 java.lang 中不存在 Array 类,那么我们为什么不显式导入 java.lang.reflect.Array 呢?还是默认情况下也存在?
【问题讨论】:
-
数组类型与
Arrays没有直接关系。它们只是由语言语法提供的。你没有有来导入任何东西,它只是写foo.bar.baz.Quux quux;的捷径。 -
我读到 Array 和 Arrays 是两个不同的类。 Array 调用静态方法来创建和使用数组对象。而 Arrays 类用于操作数组对象。但是我们为什么不导入 Array 类呢
-
你也不需要导入任何东西来使用
int、double等。它们只是语言的一部分,而不是 API,因此不需要导入。 -
int double 是原始类型,而 Array 不是原始类型,就像 String 是引用类型并且存在于默认导入的 java.lang 中,因此我们不会显式导入它。但 Array 并非如此
-
Array和Arrays是两个独立的类,但它们只是恰好被命名“数组”的类,它们与数组的概念一起使用。实际数组类型为int[].class、URL[].class等。