Eclipse / Java-導(dǎo)入java。(namespace)。*是否有害?
導(dǎo)入通配符包可能導(dǎo)致的唯一危害是,如果多個包中有多個同名類,則增加名稱空間沖突的機(jī)會。
例如,我要編程使用ArrayListAWT應(yīng)用程序中的Java CollectionsFramework類,該應(yīng)用程序使用ListGUI組件顯示信息。為了舉例,我們假設(shè)有以下內(nèi)容:
// ’ArrayList’ from java.utilArrayList<String> strings = new ArrayList<String>();// ...// ’List’ from java.awtList listComponent = new List()
現(xiàn)在,為了使用以上內(nèi)容,必須至少將這兩個類導(dǎo)入:
import java.awt.List;import java.util.ArrayList;
現(xiàn)在,如果要在包中使用通配符,則import需要以下內(nèi)容。
import java.awt.*;import java.util.*;
但是,現(xiàn)在我們將有問題!
有一個java.awt.List類和一個java.util.List,因此引用List該類將是不明確的。List如果我們想消除歧義,則必須使用完全限定的類名來引用:
import java.awt.*;import java.util.*;ArrayList<String> strings = new ArrayList<String>();// ...// ’List’ from java.awt -- need to use a fully-qualified class name.java.awt.List listComponent = new java.awt.List()
因此,在某些情況下,使用通配符軟件包import可能會導(dǎo)致問題。
解決方法為何在導(dǎo)入類型時Eclipse采用細(xì)粒度的方法?在C#中,我已經(jīng)習(xí)慣了“使用System.Windows.Controls”之類的事情,但是使用Eclipse則更喜歡單獨導(dǎo)入我引用的每個小部件(使用Ctrl+ Shift + O快捷鍵)。如果我知道其中需要多種類型,那么導(dǎo)入整個名稱空間是否有任何危害?
相關(guān)文章:
1. javascript - 奇怪的Symbol的問題2. python - 為什么在main()函數(shù)里result 會變成那樣?3. javascript - Web微信聊天輸入框解決方案4. angular.js - angular ng-class里面的引號問題5. docker - 如何修改運行中容器的配置6. html - vue項目中用到了elementUI問題7. 網(wǎng)頁爬蟲 - 用Python3的requests庫模擬登陸B(tài)ilibili總是提示驗證碼錯誤怎么辦?8. javascript - react 中綁定事件和阻止事件冒泡9. javascript - es6將類數(shù)組轉(zhuǎn)化成數(shù)組的問題10. javascript - 有沒有什么好的圖片懶加載的插件,需要包含監(jiān)聽頁面滾動高度,然后再加載的功能
