簡體   English   中英

為什么需要導入java.util。*才能使用Arrays.toString()

[英]Why do you need to import java.util.* to use Arrays.toString()

如果沒有import 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);
    }

}

它說它無法解析符號數組。

這是因為Arrays存在於java.utiljava.util ,因此您需要顯式導入它(使用import java.util.Arrays; )或者從該包導入所有內容(使用通配符import java.util.*;

更一般地說,Java中的所有內容都存在於一個包中,需要導入,但java.lang除外,其中類是String live,默認導入。

Java中不需要import ,實際上它在字節碼級別不存在。 如果刪除import語句並將return更改為,則代碼將起作用

return java.util.Arrays.toString(temp);

import減少了開發時所需的輸入(這是程序員的便利 )。

import java.util.Arrays; 也有效

使用import語句是在JAVA中改變初學者的OOP概念..根據你的問題toString(temp)是一個靜態方法的Arrays類。 並且Arrays類屬於java.util包,因此使用該靜態方法需要import java.util.Arrays 要指出每個java類默認導入java.lang.*

我在這里分享一些關於包裝的想法。

JAVA中的每件東西都屬於包。 包在Java中使用,以避免名稱沖突並控制類,接口和枚舉等的訪問。包可以被定義為一組相似類型的類,接口,枚舉或子包。 使用包它可以更容易地找到相關的類,它還為具有數百個類和其他文件的項目提供了良好的結構。

主要是Java項目支持兩種類型的包: 內置用戶定義

使用import關鍵字

import關鍵字用於將內置和用戶定義的包導入java源文件,以便您的類可以通過直接使用其名稱來引用另一個包中的類。

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

  1. 使用完全限定名稱(但這不是一個好習慣。):像return java.util.Arrays.toString(temp); 當兩個包具有相同名稱的類時,通常使用此方法。 例如: java.utiljava.sql包中包含Date class
  2. 僅導入要使用的類/類:like import java.util.Arrays; 那么只有名為util的包中名為Arrays的類才可以使用。
  3. 要從特定包導入所有類:像import java.util.* 它使得這個包( util包)的所有類和接口都可以訪問,但子包內的類和接口將無法使用。

要記住的要點

  • 如果未指定包名,則將類定義到默認包中,並且包本身不會給出名稱。
  • Java中的Java.lang.* :提供對Java編程語言設計至關重要的類。

toString()是Arrays類(靜態)中的一個方法,此類位於java.util包中。此類的源文件位於名為util的包中,該包位於名為java的包中。

我們也可以使用包限定符而不是導入。 import語句並不總是必需的。類引用可以使用“。”進行顯式限定。 運營商。
例如java.util.ArrayList<String> str //fully qualified

當有兩個類具有相同的名稱但是在不同的包中時,有一種情況需要資格。
例如java.util.Timerjava.swing.Timer
這里名稱Timer不明確,不能無條件使用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM