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