【发布时间】:2021-05-03 20:09:31
【问题描述】:
刚刚学习了Java获取资源的方法,看到我们可以使用getResource()通过两种方式获取资源。
Class.getResource()
ClassLoader.getResource()
我很困惑我们什么时候使用Class.getResource(),什么时候使用ClassLoader.getResource()。
有人对此有什么看法吗?
【问题讨论】:
-
谢谢,但似乎参考文献讨论了用法上的差异。不提什么情况我们应该使用 Class.getResource() 和 ClassLoader.getResource()
-
应该避免使用
getClass().getResource(relativePath),而使用MyClass.getResource,因为类可以被覆盖,从而使相对路径失效。没有真正的区别,所以 Class#getResource 更短。请注意,ClassLoader 只有绝对路径,没有开始 /。
标签: java