【发布时间】:2016-04-21 18:27:48
【问题描述】:
给定一个完全限定的类名可以用 Class.forName() 加载,有没有办法将名称转换为加载类和调用 getSimpleName() 的结果没有实际尝试加载类? 我需要这种能力来进行反思。
【问题讨论】:
-
我猜你必须自己实现逻辑 - 它主要是在
.中获取最后一项分隔String;有一些花里胡哨的...... -
@BoristheSpider 并且字符串也可能包含
$ -
@shmosel 只要你不介意被 GPL 感染...
-
@shmosel 当然。但仅给出限定名称,您无法知道
$是否是简单名称的一部分 - 请参阅 @AndyTurner 的答案。getSimpleBinaryName()允许您决定。 -
@shmosel 对 - 您需要知道类的简单名称及其包含的类才能正确生成该语法。并且“准确性并不重要” - 我试图指出准确打印消息在导致运行时失败的意义上并不重要,但它可能会让你陷入疯狂的追逐并浪费你的时间寻找对于一个不存在的类。
标签: java reflection