美文网首页
Groovy语言

Groovy语言

作者: 微罗妮卡 | 来源:发表于2019-07-11 11:05 被阅读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


    相关文章

      网友评论

          本文标题:Groovy语言

          本文链接:https://www.haomeiwen.com/subject/gkbvgxtx.html