使用scala获取包中的所有类名

bul*_*ula 5 reflection scala

我有一个包裹

package one.two.three

我有那个包裹

public trait first
Run Code Online (Sandbox Code Playgroud)

public class Second

pubic class Third
Run Code Online (Sandbox Code Playgroud)

我希望将所有类和接口(以one.two.three为单位)作为字符串.听说最好的方法是使用反射.

请有人告诉我一种方法来做那件事.

rle*_*ndi 3

嗯,这比人们想象的要复杂一些。

例如,您可能在同一个包中但在不同位置拥有类(例如,由一个包加载的 2 个 JAR 文件UrlClassLoader可能包含一个包a.b.c)。

最好的方法是使用已经存在的工具和库,例如Reflections API(我还不知道 Scala 包装器或替代方案)。他们为此类查询提供了强大且经过良好测试的界面。