groovy 与 java 差异 (1)
groovy 与 java 差异 (1)
缺省导入
java.io.* java.lang.* java.math.BigDecimal java.math.BigInteger java.net.* java.util.* groovy.lang.* groovy.util.* 方法重载调用差异
int method(String arg) { return 1; } int method(Object arg) { return 2; } Object o = "Object"; int result = method(o); 在 Java中,结果为: assertEquals(2,result); 而在Groovy中: assertEquals(1,result); 这时因为java使用静态类型,被申明为Ojbect类型;而groovy是运行时决定,参数为String,所以结果不同。 数组初始化在 Groovy中,{ …? } 专门用于定义闭包。所以不能如下面代码方式定义数组: int[] array = { 1,2,3} 正确定义如下。 int[] array = [1,3] 包范围可见
class Person { String name } 反之,groovy创建一个属性,即属于private,并自动关联setter和getter方法。 class Person { @PackageScope String name } == 号的行为差异java中 == 意味比较对象地址,而groovy是比较其值,is方法实现地址比较,如:a.is(b) . (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |