遍历所有 JDK 类
Iterating through all JDK classes
我正在制作一个代码编辑器,并且正在处理自动完成功能。我想以编程方式获取 JDK.
附带的所有 类 的列表
示例包括:
java.io.File
java.util.ArrayList
javax.swing.Action
我找到了获取特定包的 类 的方法。例如,我可以获得所有以 com.mypackage.foo
开头的 类。问题是我正在尝试获取加载了 Bootstrap ClassLoader
的 类。在 OSX JDK 上,该类加载器显示为 null
。例如,如果我做 String.class.getClassLoader()
,那就是 null
.
有什么想法吗?
您可以用 java.util.jar.JarFile 打开 rt.jar 并遍历其条目。这就是如何让 URL 变成 rt.jar : URL url = Object.class.getResource("String.class");
我正在制作一个代码编辑器,并且正在处理自动完成功能。我想以编程方式获取 JDK.
附带的所有 类 的列表示例包括:
java.io.File
java.util.ArrayList
javax.swing.Action
我找到了获取特定包的 类 的方法。例如,我可以获得所有以 com.mypackage.foo
开头的 类。问题是我正在尝试获取加载了 Bootstrap ClassLoader
的 类。在 OSX JDK 上,该类加载器显示为 null
。例如,如果我做 String.class.getClassLoader()
,那就是 null
.
有什么想法吗?
您可以用 java.util.jar.JarFile 打开 rt.jar 并遍历其条目。这就是如何让 URL 变成 rt.jar : URL url = Object.class.getResource("String.class");