Groovy语言

2019-07-11  本文已影响0人  微罗妮卡

简单介绍

Groovy 是对java的扩展

不用定义类型

有闭包概念

有新的循环

结尾省略分号

java

 public class Test{   
 public static void main(String [] args){      
  System.out.println("Hello World"); 
   }
 }

groovy

println("Hello world');


与java的不同

1.不需要引入包--

imported by default

2.数组的初始化 --groovy的{}用于闭包

 java      int [] a={1,2,3};
 groovy   int a[] = [1,2,3] 

3.没有private

 class Test{ @PackageScope String name } 
  1. 自动资源管理

Groovy不支持java7中的自动资源管理,但是它使用闭包提供了实现相同功能的方法,但是方法更好

  1. 内部类

(1)静态内部类

 class A{   
  static class B{     } 
} 
new A.B(); 

(2)匿名内部类

  1. java 8 支持

lambdas表达式 and method references,groovy 由闭包代替????

  1. Groovy 支持Gstring 所以String 中包含“$”有可能解析错误

  2. 单引号在Groovy中被认为是String,双引号可能是String or GString

 assert 'aaa'.getClass() == String assert
 "aaaa".getClass() == String assert "a${1}".getClass() in GString

9. primitives and wrappers ???? 原语和包装

groovy 不会扩大类型

int i i in long

int i i in Integer

  1. 在Groovy中 == 为 java中的 equale()

    is() 为java 中的= 对象引用是否相同

  2. 在自动装箱拆箱上有不同,有扩展

  3. 更多的关键字

as def in trait

  1. default 必须放在switch 的最后一个case

groovy 官方文档

http://groovy-lang.org/documentation.html


精通groovy

http://www.ibm.com/developerworks/cn/education/java/j-groovy/j-groovy.html


Differences with java

http://www.groovy-lang.org/differences.html


上一篇下一篇

猜你喜欢

热点阅读