public AbstractImagePrototype getIcon(ModelData model) {
if (model.get("icon") != null) {
return Resources.ICONS.lock();
} else {
return null;
}
}
在这行代码中:
return Resources.ICONS.lock();
我需要为字符串更改lock()
,例如
String text = "lock()";
return Resources.ICONS.text;
我该怎么做?
答案 0 :(得分:2)
你可以做到
Resources.ICONS.getClass().getMethod("lock").invoke(Resources.ICONS);
如果ICONS是一个对象,那么就处于领先地位。如果它是一个类,它可能是
Resources.ICONS.class.getMethod("lock").invoke(null);
(未测试的)。
我希望你知道你在做什么,因为那可能会产生许多你不想要的效果。
答案 1 :(得分:1)
我建议使用一个接受字符串作为输入的方法。然后它会比较字符串,然后调用函数。
if (command.equals("lock()"))
lock();
// etc.
答案 2 :(得分:1)
如果您尝试获取稍后需要调用的某种对象,则应该查看command pattern