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

後で呼び出す必要がある何らかのオブジェクトを取得しようとしている場合は、コマンド パターンを確認する必要があります。

于 2012-06-19T20:14:21.670 に答える
1

文字列を入力として受け入れる単一のメソッドを使用することをお勧めします。次に、文字列を比較してから関数を呼び出します。

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