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/