2011-12-29 6 views
2

私が定義したクラス'def'を使って変数を宣言し、それを既知の型で宣言することに違いはありますか?

class MyClass { 
} 

def c = new MyClass()を行う代わりに、MyClass c = new MyClass()で実行時におけるパフォーマンスのヒットがあるのを持っていると仮定すると?それともまったく同じですか?

+2

項目:http://stackoverflow.com/questions/5338381/declaring-types-in-groovyあなたの例では

答えて

3

defは、タイプ名の代わりです。変数の定義では、型を気にしないことを示すために使用されます。

変数の型を宣言していない場合、表の下のGroovyは型Objectとして宣言されます。 defObjectという別名として考えることができます。

def c = new MyClass() 
// transform to: 
java.lang.Object c = new MyClass() 

MyClass c = new MyClass() 
// transform to: 
MyClass c = new MyClass() 
関連する問題