[英]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.