2011-01-03 9 views
1

は、あなたがメソッドを持っていると言う:メタプログラミングを使用してメソッドの戻り値の型を変更する理由はありますか?

boolean test() { return true; } 

今までの文字列を返すために、それを変更するためにメタプログラミングを使用することが良いでしょう:

String test() {return "test"} 

私はそのためのメタプログラミングを使用して混乱してとすべきだと思います呼び出しコードが期待するパブリックインターフェイスを変更するので避けてください。それは良いアイデアになると誰の例を持っていますか?

答えて

1

私はあなたが動的に別の型を返すしている場合、それはただのようなdefとしてメソッドの戻り値を入力する方が理にかなって思う:だから、あなたの質問に答えるために

def test() { 
    if (something) { 
     return true 
    } else { 
     return 'test' 
    } 
} 

、いいえ、私はそれが今までとは思いません良い考えです。 :)

関連する問題