我刚开始学习Groovy,并且正在阅读《Groovy in Action》。在这本书中,我看到了这样一句话:无论您将变量声明或转换为int或Integer类型,都没有关系。Groovy始终使用引用类型(Integer)。
因此,我尝试将null值分配给类型为int的变量。
int a = null
但是它给我以下异常
org.codehaus.groovy.runtime.typehandling.GroovyCastException: 无法将类为“null”的对象“null”转换为类“int”。请尝试使用“java.lang.Integer” at Script1.run(Script1.groovy:2)
然后我试图将null值赋给类型为Integer的变量
Integer a = null
它正常工作。
有人可以帮我理解groovy
如何表现或背后的原因吗?