groovy中int和Integer类型之间的区别
我刚开始学习groovy,我正在阅读“Groovy in Action”.
在本书中,我遇到了一个声明:无论是声明还是将变量转换为int或Integer类型都无关紧要.Groovy使用引用类型(Integer). 所以我尝试将null值赋给类型为int的变量 int a = null 但它给了我以下例外
然后我尝试将null值赋给类型为Integer的变量 Integer a = null 它工作得很好. 任何人都可以帮助我理解groovy的行为方式或背后的原因吗? 解决方法
核心问题是
primitives不能为空. Groovy用
autoboxing假装出局.
如果在数字中存储空值,则无法将其存储在int / long / etc字段中.将空数转换为0是不正确的,因为这可能是有效值. Null意味着尚未制定任何价值或选择. int是 对于 所以默认我们可以使用: – int a = 0 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |