0
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;

我该怎么做呢?

4

3 回答 3

2

你可以做

Resources.ICONS.getClass().getMethod("lock").invoke(Resources.ICONS);

至少如果 ICONS 是一个对象。如果它是一个类,它可能是

Resources.ICONS.class.getMethod("lock").invoke(null);

(未经测试)。

我希望您知道自己在做什么,因为这可能会产生许多您不想要的效果。

于 2012-06-19T20:11:12.597 回答
1

我建议使用接受字符串作为输入的单一方法。然后它将比较字符串,然后调用该函数。

if (command.equals("lock()"))
    lock();
// etc.
于 2012-06-19T20:08:34.823 回答
1

如果您尝试获取稍后需要调用的某种对象,您应该查看命令模式

于 2012-06-19T20:14:21.670 回答