Java提高班 之深究java.lang.Class.getResource(String)与java.lang.ClassLoader.getResource(String)

本文探讨了Java中`Class.getResource`和`ClassLoader.getResource`的使用,特别是当参数以`/`开头时为何可能返回null。通过研究AppClassLoader和URLClassLoader的源码,揭示了这个问题的原因。
摘要由CSDN通过智能技术生成

package com.dusk.test;

import org.junit.Test;

public class Client {
	@Test
	public void test() {
		System.out.println(getClass().getResource(""));
		System.out.println(getClass().getResource("/"));
		
		System.out.println(getClass().getClassLoader().getResource(""));
		System.out.println(getClass().getClassLoader().getResource("/"));
	}
}

结果显示:

file:/C:/Users/army_du163.com/Documents/workspace-sts-3.7.3.RELEASE/Test/bin/com/dusk/test/
file:/C:/Users/army_du163.com/Documents/workspace-sts-3.7.3.RELEASE/Test/bin/

file:/C:/Users/army_du163.com/Documents/workspace-sts-3.7.3.RELEASE/Test/bin/
null

Class.getResource(String path)

如果path以"/"开头,例如:"/a.txt",则从classpath的根下获取资源;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值