【发布时间】:2012-03-26 07:53:49
【问题描述】:
有没有办法不使用方法名来获取方法对象?
例如我有课:
class Car {
public String drive();
public String giveUp();
public String fillUp();
}
我想创建一个Map<String, Method> 方法(又名:("move", drive()), ("name", giveUp()), ....)。
由于使用了混淆,我无法通过名称获取方法对象。有没有办法在不绑定 this 的情况下获取方法名称?
我想另一种方法是:
对于拥有 getClass() 的类,是否有等价的方法?我正在寻找类似于 giveUp.Method 的东西。
【问题讨论】:
-
尽管我很欣赏拼写错误“混淆”的讽刺意味,但请尽量小心不要生成拼写错误的标签,尤其是当您有自动完成功能时。
-
嘿,我把自动完成归咎于那个。
-
嘿为什么不除了混淆的方法?即,您要么按名称访问方法,要么混淆,您的两个目标没有结合,并且通过解决方法假装它们是徒劳的。在最坏的情况下,创建一个 if(key) { // key 的调用方法 } else if(nextKey) {...}.
标签: java reflection obfuscation