栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Groovy和Java相比的特点

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Groovy和Java相比的特点

一、Groovy和Java相比的特点
  1. Groovy完全兼容Java语法。

  2. 分号是可选的。

  3. 类、方法默认都是public。

  4. 编译器自动给属性添加getter/setter方法。

  5. 属性可以用点号直接获取。

    1. 直接使用点号属性名访问的是编译器自动添加的getter方法。
  6. 最后一个表达式的值会被作为返回值。

  7. ==等同于equals(),不会有NullPointException异常抛出。

  8. assert语句进行断言操作。

  9. 弱类型编程语言 def。

  10. 可选括号。

  11. 字符串三种表达形式,’’,"",’’’’’’,

    1. 单引号就只是一个字符串。
    2. 双引号中间可以使用${}插入变量def s2 = "s2 ${version}"
    3. 三引号里面的内容可以换行。
  12. 集合API具有更简单的写法。

    // 定义集合
    def buildTools = ["ant","maven"]
    // 添加元素
    buildTools << 'gradle'
    // 默认类型是ArrayList
    assert buildTools.getClass() == ArrayList
    assert buildTools.size() == 3
    // 定义Map
    def buildYears = ["ant":2000,"maven":2009]
    // 添加元素
    buildYears << ['gradle':123]
    // 获取元素
    println buildYears.ant
    // 获取元素
    println buildYears.get("maven")
    // 默认类型是linkedHashMap
    assert buildYears.getClass() == linkedHashMap
    
  13. 闭包(简单理解)。

    // 带参数闭包
    def c1 = {
        v ->
            println v
    }
    // 不带参数闭包
    def c2 = {
        println 'hello'
    }
    // 方法1,Closure闭包作为参数,不要导入包,导入的包是Java的
    def method1(Closure closure){
        closure('param')
    }
    // 方法2
    def method2(Closure closure){
        closure()
    }
    // 调用,传参
    method1(c1)
    method2(c2)
    
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/309775.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号