有没有办法通过一行命令知道一个类与哪个java包相关? 例如,我想打印出 Integer 类的包,即 java.lang.Integer
谢谢
编辑:有一个我不知道的
class.getPackage()
方法。
System.out.println(Integer.class.getPackage().getName());
如果我理解正确,您希望能够使用 SimpleName 搜索类,然后打印包名称。或者至少打印所有可能的匹配项(在多个包中找到)。
如果是这种情况,您可以利用该代码片段(在here找到)自己创建一个实用程序并从命令行执行。不过这可能有点慢。
快速简单的解决方案,只需滥用
classlist
文件即可。当然,不能保证找到所有类,但应该可以完成标准情况的工作。
X:\Java ◄●++●► classlist.bat hashset
java/util/HashSet
java/util/LinkedHashSet
java/util/regex/IntHashSet
X:\Java ◄●++●► classlist.bat stringb
java/lang/AbstractStringBuilder
java/lang/StringBuffer
java/lang/StringBuilder
X:\Java ◄●++●► classlist.bat "reader writer"
…
X:\Java ◄●++●► type classlist.bat
@FINDSTR/I %* "C:\Program Files\Java\jdk-19\lib\classlist" | FINDSTR /VB "@ #"
将
classlist
文件的路径替换为您系统上的路径。您当然可以根据需要修改第二个findstr
以删除更多行,例如与jdk/internal
有关的所有内容。