在另一个答案中,我编写了以下代码(Java 7):
public final class Foo
{
public static void main(final String... args)
{
final ClassLoader loader = Foo.class.getClassLoader();
final URL[] urLs = ((URLClassLoader) loader).getURLs();
for (final URL url : urLs) {
System.out.println(url);
System.out.println(Files.probeContentType(Paths.get(url.toURI())));
}
}
}
我必须将ClassLoader
转换为URLClassLoader
以获得.getURLs()
方法。
这不是我第一次这样做,这次演员对我来说从未失败过。
查看类型层次结构,我看到:
URLClassLoader -> SecureClassLoader -> ClassLoader
我的问题是为什么不ClassLoader
定义.getURLs()
?是否有类加载器无法返回URL的具体示例?