URLClassLoader具有用于获取资源作为URL的两个功能。一种名为getResource并被继承,一种来自URLClassLoader,其名为findResource。两者都返回一个URL。它们看起来很相似,它们之间有什么区别?

getResource方法的注释:
查找具有给定名称的资源。资源是某些数据(图像,音频,文本等),可以由类代码以与代码位置无关的方式进行访问。 [继续]

findResource方法的注释:
在URL搜索路径上查找具有指定名称的资源。

最佳答案

getResource方法使用标准的类加载器层次结构方法:类加载器具有父级。 getResource方法将要求父级加载它,并且只有当父级找不到请求的资源时,它才会尝试自己加载它。

另一方面,findResource仅是该类加载器尝试查找资源的尝试。它根本不查询父级。

通常,您应该使用getResource(如果需要,它将使用findResource)。

关于java - URLClassLoader-getResource和findResource之间的区别,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54889465/

10-10 15:14