1

次のような署名を持つメソッドがあるとします

def myAction (オブジェクト、文字列プロパティ名);

オブジェクトからプロパティ値を取得したいだけで、2つのバージョンを書きました

バージョン 1: getter メソッドを作成し、オブジェクトで呼び出します

    original = propertyName
    prefix = original.substring(0,1).toUpperCase()
    suffix = original.substring(1,original.length())
    methodName = new StringBuilder('get').append(prefix).append(suffix).toString()
    value = domain.metaClass.invokeMethod(objet,methodName,null)

バージョン 2: GroovyObject が提供する getProperty メソッドを直接使用します

value = objet.getProperty(propertyName)

魔女のほうが性能いいの?

と思います:)

4

1 に答える 1