簡體   English   中英

對於Java,我可以一次導入所有包嗎?

[英]For Java, can I import all packages at once?

例如,第三方庫對包使用非常復雜的目錄結構。 我可以一次導入它們嗎? 明星似乎只能導入一個目錄級別。

假設您在詢問是否可以執行以下操作:

import com.example.*;
// expecting packages like com.example.foo.* and com.example.bar.* to be imported

然后答案是否定的 你可以做的最廣泛的導入是一個帶星星的單一包。

JLS(第7.5節) 定義了import語句的結構。

另外,編譯器一次導入一堆包也是有問題的。 如果兩個包提供相同的類型,兩者都被導入,並且類在類中使用,則會發生編譯時錯誤。 這在JLS 6.5.5.1中描述:

否則,如果該名稱的類型由編譯單元的多個type-import-on-demand聲明聲明,則該名稱作為類型名稱是不明確的; 發生編譯時錯誤。

正如您在java中指出的那樣,您只能使用“*”使用的“一級”導入

更有效的方法是打開Eclipse,打開應該導入的類並按:CTRL + SHIFT + O :) - 現在所有IDE都有助於組織導入

我強烈建議,正如其他人所做的那樣,您使用IDE中的“組織導入”(大多數主要的Java IDE都會這樣做)。

另外,我建議不要在導入中使用“*”,原因很簡單。 在某些時候,您可能希望升級導入的庫之一(或jdk),並且由於包中的某些新類,最終可能會出現名稱沖突(對於靜態導入尤其如此)。 如果在當前項目中的某個類中發生這種情況可能不是什么大問題,但如果您在某個時候將該代碼放入庫中,則可能會出現問題,因為在調整沖突的導入后您將不得不重新編譯該類。

(是的,不久前發生在我身上的事情......這是一個痛苦,因為我不得不尋找重建的庫源代碼。)

在路上省去一些麻煩。 :d

在JSP的情況下,我可以使用.inc文件從java類中的第三方庫導入所有必需的類

您只能導入一個目錄級別。

在IntelliJ Ctrl + Alt + O快捷方式可以幫助:

  • 組織現有的進口
  • 刪除不需要的導入
  • 添加所需的導入

您還可以在“設置→編輯器→常規→自動導入”下調整自動導入設置

僅限基本用法您可以使用:

   import java.*;
   import javax.*;

*適合所有人

   java.*;

java包中的所有類。

暫無
暫無

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

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