URLClassLoader-getResource和findResource之间的区别

时间:2019-02-26 15:56:31

标签: java urlclassloader

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

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

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

1 个答案:

答案 0 :(得分:3)

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

另一方面,

findResource只是该类加载器试图查找资源;它根本不查询父项。

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