Groovy静态编译(@CompileStatic)将类字段的类型转换为`对象'`

Groovy静态编译(@CompileStatic)将类字段的类型转换为`对象'`,groovy,static-compilation,Groovy,Static Compilation,编译以下Groovy类 @CompileStatic class StaticCompileTest { private def fieldInt = 3 } 在反编译.class文件时,此类中的结果: public class StaticCompileTest implements GroovyObject { private Object fieldInt; } 将字段更改为final不会改变这种情况 在这种情况下,为什么Groovy编译器无法派生类型?因为假设类型不

编译以下Groovy类

@CompileStatic
class StaticCompileTest {

   private def fieldInt = 3

}
在反编译
.class
文件时,此类中的结果:

public class StaticCompileTest implements GroovyObject {
    private Object fieldInt;
}
将字段更改为
final
不会改变这种情况


在这种情况下,为什么Groovy编译器无法派生类型?

因为假设类型不会更改本身就是不安全的


请参阅,因为假定类型不会更改本质上是不安全的


请参见

这是解释我的问题的完美链接,特别是因为它还处理了
最终的
案例。谢谢。这是解释我的问题的完美链接,特别是因为它还处理
最后一个案例。非常感谢。