Eclipse / Java-导入java。(namespace)。*是否有害?
导入通配符包可能导致的唯一危害是,如果多个包中有多个同名类,则增加名称空间冲突的机会。
例如,我要编程使用ArrayListAWT应用程序中的Java CollectionsFramework类,该应用程序使用ListGUI组件显示信息。为了举例,我们假设有以下内容:
// ’ArrayList’ from java.utilArrayList<String> strings = new ArrayList<String>();// ...// ’List’ from java.awtList listComponent = new List()
现在,为了使用以上内容,必须至少将这两个类导入:
import java.awt.List;import java.util.ArrayList;
现在,如果要在包中使用通配符,则import需要以下内容。
import java.awt.*;import java.util.*;
但是,现在我们将有问题!
有一个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可能会导致问题。
解决方法为何在导入类型时Eclipse采用细粒度的方法?在C#中,我已经习惯了“使用System.Windows.Controls”之类的事情,但是使用Eclipse则更喜欢单独导入我引用的每个小部件(使用Ctrl+ Shift + O快捷键)。如果我知道其中需要多种类型,那么导入整个名称空间是否有任何危害?
相关文章:
1. 为什么span的color非要内联样式才起作用?2. angular.js - angular-ui-bootstrap 报错无法使用?3. javascript - swiper.js嵌套了swiper 初始设置不能向下一个滑动 结束后重新初始4. docker - 如何修改运行中容器的配置5. javascript - 关于<a>元素与<input>元素的JS事件运行问题6. 在cmd下进入mysql数据库,可以输入中文,但是查看表信息,不显示中文,是怎么回事,怎新手,请老师7. 求救一下,用新版的phpstudy,数据库过段时间会消失是什么情况?8. 高并发写入和更新mysql9. 老师,请问我打开browsersync出现这个问题怎么解决啊?10. html5 - H5做的手机分享页微信更新后,分享出去不再默认显示第一个图 作为缩略图

网公网安备