假设我有一个定义的类
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()
关于variables - 使用 'def' 声明变量和使用已知类型声明变量有什么区别吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8671695/