2
假設我有一個定義的類用'def'聲明一個變量並用一個已知類型聲明變量是否有區別?
class MyClass {
}
是否有性能命中在運行時做def c = new MyClass()
而不是MyClass c = new MyClass()
?還是完全一樣?
假設我有一個定義的類用'def'聲明一個變量並用一個已知類型聲明變量是否有區別?
class MyClass {
}
是否有性能命中在運行時做def c = new MyClass()
而不是MyClass c = new MyClass()
?還是完全一樣?
def
是類型名稱的替代品。在變量定義中,它用來表示你不關心類型。
如果您未聲明變量的類型,則隱藏的Groovy將聲明爲類型Object
。您可以將def
視爲Object
的別名。
在您的例子:
def c = new MyClass()
// transform to:
java.lang.Object c = new MyClass()
MyClass c = new MyClass()
// transform to:
MyClass c = new MyClass()
見:http://stackoverflow.com/questions/5338381/declaring-types-in-groovy – 2011-12-29 19:36:38