为什么需要导入java.util.*才能使用Arrays.toString()

为什么需要导入java.util.*才能使用Arrays.toString(),java,Java,由于某种原因,如果没有导入java.util.*,则Arrays.toString()将无法工作。下面是一个简单的java代码,它根据用户输入的字符串长度从数组中删除元素 import java.util.*; public class conjunction { public static String func(String x[], int input) { String temp[] = new String[x.length - 1]; Stri

由于某种原因,如果没有导入java.util.*,则
Arrays.toString()
将无法工作。下面是一个简单的java代码,它根据用户输入的字符串长度从数组中删除元素

import java.util.*;
public class conjunction {
    public static String func(String x[], int input) {
        String temp[] = new String[x.length - 1];
        String temp2[] = new String[x.length - 1];
        for (int c = 0; c < x.length; c++) {
            if (x[c].length() == input & c + 1 < x.length) {
                temp2[c] = x[c + 1];
                x[c + 1] = x[c];
                x[c] = temp2[c];
            } else if (x[c].length() != input) {
                temp[c] = x[c];
            }
        }
        return Arrays.toString(temp);
    }

}
import java.util.*;
公共类连词{
公共静态字符串func(字符串x[],int输入){
字符串温度[]=新字符串[x.length-1];
字符串temp2[]=新字符串[x.length-1];
for(int c=0;c

它说它无法解析符号数组。

code>import java.util.Arrays
也可以工作

这是因为它存在于包
java.util
中,所以您要么需要显式地导入它(使用
import java.util.Arrays;
),要么从该包导入所有内容(使用通配符
import java.util.*


更一般地说,Java中的所有内容都存在于一个包中,需要导入,除了类
String
live,默认情况下是导入的。

Java中从不需要导入
,事实上它在字节码级别不存在。如果删除导入语句并将
return
更改为

return java.util.Arrays.toString(temp);
“代码>导入”可减少开发时所需的类型(这是程序员的方便)。

toString()是数组类(静态)中的方法,该类位于包java.util中。此类的源文件位于名为util的包中,该包名为java

我们也可以使用包限定符而不是导入。 导入语句并不总是必需的。类引用可以使用“.”运算符进行显式限定。
例如
java.util.ArrayList str//完全限定

有一种情况需要资格认证——两个类名称相同,但在不同的包中。
例如
java.util.Timer
java.swing.Timer


在这里,Timer的名称是不明确的,没有限定就不能使用。

使用
import
语句是JAVA中的初学者OOP概念。。根据您的问题
toString(temp)
数组
类的静态方法。而
Arrays
类属于包
java.util
,因此使用该静态方法需要
导入java.util.Arrays
。需要注意的是,默认情况下每个java类导入
java.lang.*

在这里,我分享一些关于包装的想法

JAVA中的所有东西都属于包。包在Java中使用,以避免名称冲突并控制类、接口和枚举等的访问。包可以定义为一组类似类型的类、接口、枚举或子包。使用包可以更容易地找到相关的类,并且它还为包含数百个类和其他文件的项目提供了良好的结构

Java项目主要支持两种类型的包:内置的用户定义的

使用导入关键字

import
关键字用于将内置和用户定义的包导入到java源文件中,以便您的类可以通过直接使用其名称引用另一个包中的类

有3种不同的方法可以引用不同包中的任何类:

  • 使用完全限定名(但这不是一个好的做法):比如
    返回java.util.Arrays.toString(temp)这通常在两个包具有相同名称的类时使用。例如:
    java.util
    java.sql
    包包含
    dateclass
  • 仅导入要使用的类:如
    import java.util.Arrays。那么只有名为
    util
    的包中名为
    Arrays
    的类才能使用
  • 要从特定包导入所有类,请执行以下操作:
    import java.util.*
    。它使此包(
    util
    package)的所有类和接口都可以访问,但子包中的类和接口将不可使用
  • 要记住的要点

    • 如果未指定包名,则会将类定义到默认包中,而包本身没有名称
    • Java.lang.
      Java包
      :提供了Java编程语言设计的基础类

    这只是方法类而不是main()
    Arrays
    类位于
    java.util
    包中。此类提供静态方法来动态创建和访问Java数组。由于您使用的是
    array.toString
    ,因此需要导入该包才能使用它。这不仅有效,而且通常也是更好的方法。