我使用*
导入了包。
示例:
import java.awt.*;
有没有办法找出我在程序中实际使用的这个包的哪些类?我只需要导入我实际用于Java项目的类。
谢谢
答案 0 :(得分:4)
使用像Eclipse这样的IDE来组织导入,这只会为代码中使用的类添加导入。
Eclipse的快捷方式是 Ctrl + Shift + O (您甚至可以配置为在保存对文件的更改时自动运行操作)。
对于IntelliJ, Ctrl + Alt + O 。
答案 1 :(得分:3)
如果您只想清理*
导入,其他答案中的键盘快捷键将会执行此操作,但如果您希望能够自动找出某些代码使用的依赖项,Oracle已经创建了一个名为jdeps
的工具,它随JDK一起提供。它被描述为:
jdeps
命令显示Java类文件的包级别或类级别依赖关系。输入类可以是.class
文件的路径名,目录,JAR文件,也可以是完全限定的类名...
例如,如果您的类构建到classes
目录,则以下命令将显示类com.example.Foo
使用的类:
jdeps -verbose:class -cp classes com.example.Foo
有关使用的详细信息,请参阅jdeps
documentation。
答案 2 :(得分:0)
您可以使用反射(getPackage()或getClassName())来获取包详细信息。
尝试{
System.out.println(Class.class.forName("java.lang.Integer").getPackage());
}
catch(ClassNotFoundException ex) {
System.out.println(ex.toString());
}
答案 3 :(得分:-2)
除非您将使用每一个,否则最好不要使用*进口。这将使可执行文件不必要地变大。
就像@Bill一样,Lizard说,编译器会告诉你忘记添加哪些导入。