2009-08-31 95 views
38

如何根據Groovy中的字符串值調用方法?例如,而不是包含在字符串中的方法的調用名稱

switch (val) { 
case "one": 
    Obj.one() 
    break 
case "two": 
    Obj.two() 
    break 
} 

我想這樣做obj.val其中val包含任何「一個」「兩化」而不是一個case語句。

回答

78

Dynamic method invocation看起來像這樣

obj."$val"() 
+5

提供的鏈接已經死了。這可能涉及以下主題: http://www.groovy-lang.org/metaprogramming.html#_dynamic_method_names – chrish 2015-09-11 17:06:55

相關問題