【问题标题】:What is actual purpose of getclass() in ImageIO.read(getClass().getResource("imagepath")) [duplicate]ImageIO.read(getClass().getResource("imagepath")) 中 getclass() 的实际目的是什么 [重复]
【发布时间】:2018-02-12 18:53:14
【问题描述】:

我正在通过 ImageIO,我在网上阅读了这段代码,但无法弄清楚为什么在这种情况下需要 getClass()。 (据我所知,getClass() 返回类名-> 如果我错了,请纠正我)。那么,为什么我们需要 getClass() 呢?

【问题讨论】:

  • 好吧,你错了。它没有得到类名,它得到类object。您需要一个类对象或类加载器对象来获取资源。

标签: java javax.imageio


【解决方案1】:

Class<?> 对象的.getResource() 方法(这是任何.getClass() 调用将返回的)最终调用正在运行的JVM 的ClassLoader;而您需要ClassLoader 才能访问正在运行的类路径中的资源。

这记录在the relevant javadoc:

查找具有给定名称的资源。搜索与给定类关联的资源的规则由该类的定义类加载器实现。

【讨论】:

    猜你喜欢
    • 2014-01-20
    • 2021-12-15
    • 2019-05-13
    • 2014-04-05
    • 1970-01-01
    • 1970-01-01
    • 2013-01-13
    相关资源
    最近更新 更多