1.Groovy中万事万物都是对象,java中基本类型不是对象。java
真正的面向对象:求绝对值123.asb()
2.Java中Class对象表示为ClassName.class,而在Groovy中,能够直接用ClassName表示Class对象正则表达式
3.Groovy会自动导入 java.lang.*,java.util.*,java.net.*,java.io.*,java.math.BigInteger,java.math.BigDecimal,groovy.lang.*,groovy.util.*,而Java则只自动导入java.lang.*express
4.数据定义不一样.net
java中int[] a={1,2,3} groovy中int[] a=[1,2,3]
5.groovy中==和is 对应 java的equals和==code
6.解释性字符串 ${expression}对象
7.方法中形参可指定为默认值,默认参数仅能出如今非默认参数以后ci
8.?运算符:rs?.next()字符串
9.Groovy中switch和case能够使用任何对象,尤为是能够在case中使用list和范围,从而使分支知足多个条件it
10.Elvis操做符 ,这是三目运算符“?:”的简单形式io
11.Groovy全部的对象都有一个元类metaClass,咱们能够经过metaClass属性访问该元类,经过元类能够为这个对象增长方法(在java中不可想象)
12.Groovy中能进行多重赋值,而Java不能
13.for-each
Java中: for(Type t:iteratable){...} Groovy中: for(t in iteratable){...}
14.Groovy废弃了do-while
15.正则表达式常量在Java中没有,在Groovy中表示为/pattern/