我什么时候必须导入 java.util.Arrays;使用数组时

When do I have to import java.util.Arrays; when using Arrays

这是我项目的代码。

public class PhraseOMatic {
    public static void main(String[] args) {
        String[] wordListOne = {"24/7", "multi-Tier", "30,000 foot", "B-to-B",
        "win-win", "front-end", "web-based", "pervasive", "smart", "sixsigma”,"};
        String[] wordListTwo = {"empowered", "sticky", "value-added", "oriented",
                "centric", "distributed", "clustered", "branded", "outsidethebox",
                "positioned", "networked", "focused", "leveraged", "aligned", "targeted", "shared”"};
        String[] wordListThree = {"process", "tipping-point", "solution",
                        "architecture", "core competency”",
                        "portal", "space", "vision", "paradigm", "mission"};
        int oneLength = wordListOne.length;
        int twoLength = wordListTwo.length;
        int threeLength = wordListThree.length;
        int rand1 = (int) (Math.random() * oneLength);
        int rand2 = (int) (Math.random() * twoLength);
        int rand3 = (int) (Math.random() * threeLength);
        String phrase = wordListOne[rand1] + " " + wordListTwo[rand2] + " " +
                wordListThree[rand3];
        System.out.println("What we need is a " + phrase);
    }
}

它主要取自我的一位讲师。但是我必须改变一些东西才能让它变成 运行.

但是我的问题是,我什么时候必须导入 java.util.Arrays?它 运行s 没有被导入,即使我使用的是数组。那么,这是为什么?

您没有使用 https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Arrays.html 中的任何方法。这就是为什么你不需要它。

[];% 等语言的一部分,它在此处定义 https://docs.oracle.com/javase/specs/jls/se7/html/jls-4.html#jls-4.3.1

In the Java programming language, arrays are objects (§4.3.1), are dynamically created, and may be assigned to variables of type Object (§4.3.2). All methods of class Object may be invoked on an array.

您只需要在明确使用 one of the methods that this class provides 时导入 java.util.Arrays。它所做的只是提供处理数组的有用方法。如果你不调用它们中的任何一个,那么你也不需要导入它。

有助于理解 Java 中的 import 只不过是 一种通过其简单的方式引用 class 的方式姓名。换句话说,它允许您编写 Arrays.sort(someArray) 而不是必须键入 java.util.Arrays.sort(someArray).

java.util.Arrays 是一个 class。使用此 class 时需要导入此 class。与所有其他 classes 相同(java.lang 包中的 classes 除外,它们是默认导入的)。在您的代码中,您没有使用 java.util.Arrays class,因此您不需要导入它。

数组java.util.Arrays不同。

Java 语言有一个内置数组类型,您可以使用 String[]int[] 等表达式构造它。您无需声明任何内容即可使用它们。

java.util.Arrays不是这种对象的类型。它是一种工具类型,包含许多要在数组上使用的方法:对它们进行排序、将它们转换为另一个集合等。如果要使用这样的 class,则需要使用 Fully Qualified Name 例如java.util.Arrays 或将其声明为 import java.util.Arrays,以便每次在 class 中需要时仅使用 Arrays 而不是 java.util.Arrays。后一种方法还可以使您的代码看起来更简洁并节省一些输入。