2017-10-15 27 views
-1

後使用entrySet()函數時找不到符號我正在使用函數Map.entrySet()。當我使用import java.util.*時,它無法找到符號錯誤。但是,當我在做import java.util.Map.Entry它編譯。不應該包含「*」Map.Entry?在import java.util。*

我錯過了什麼嗎?

使用導入java.util.*的底線給我找不到符號錯誤。 對於相同的代碼導入java.Map.Entry;沒有。爲什麼?

謝謝。

+1

請顯示無法編譯的實際代碼。 – dasblinkenlight

+0

「不應該」*「包含Map.Entry?」我不這麼認爲(如果直接使用'Entry',你必須'導入juMap.Entry',通常'Map.Entry'不是'Entry') – 2017-10-15 08:47:55

+0

作爲一個方面說明,你應該開始使用一些IDE ,他們會爲您處理進口;) – 2017-10-15 08:49:17

回答

3

明星導入用於導入包的所有類。當您指定

import java.util.*; 

您表示,對具有全名java.util.<ClassName>所有的類都被認爲是進口的。

​​是java.util.Map類的內部類。星進口的子類將是這樣的

import java.util.Map.*; 

我不能說這是用進口開始在所有的一個很好的做法。大多數編碼準則建議避免它。子類星型導入不是您通常會在代碼中遇到的東西。

+0

謝謝您的解釋。 –