Update pit of class.getResource () method

java8

java14

Transfer from https://blog.csdn.net/weixin_34293911/article/details/91980906

首先class.getResource("/") = class.getClassLoader().getResource("")
最终都是调用ClassLoader.getResource("") 实现, 由于ClassLoader.getResource("") 是从classpath根目录下开始查找。
而class.getResource()是从当前类所在目录查找, 当以"/"开始时,切换到从classpath根目录开始查找。
由源码知class.getResource()的实现过程为 : 
IF 参数 startwith "/" ----> ClassLoader.getResource(参数.replaceFirst("/",""));
IF 参数 not startwith "/" ----->ClassLoader.getResource("package1/package2/package3/"+参数);

Guess you like

Origin www.cnblogs.com/islch/p/12738252.html