groovy定义变量获取当前时间_跟大家聊聊Groovy与Java的不同

现在的Android开发默认是基于Gradle进行打包构建的。Gradle的好处不言而喻,回头我会用另一篇文章说明。这篇文章主要说的是Gradle的编程语言Groovy。

Groovy是由JVM来解释执行的,所以它的大部分语法与Java类似,但是也有一些语法糖要优于Java。我们现在就来聊聊Groovy与Java之间有哪些不同。

9c153d9d8c586b3146fffdc4e1c1fdc8.png

变量

变量的类型:只有对象类型

变量的定义:不仅有Java的强类型,还有用def定义的弱类型


字符串

String、GString


闭包

概念:一个代码块。

定义:

def closer = { println ‘Hello groovy!’}

调用:

clouser.call()clouser()

参数:

def closer = { String name, int age -> println ‘Hello ${name}, my age is ${age}’}clouser(‘groovy!’, 4)def clouser = { println “Hello ${it}”}    // 隐式参数clouser(‘groovy!’)

返回值:

def clouser = { return “Hello ${it}”} def result = clouser(‘groovy!’)println result

数据结构

数组:

def array = [1, 2, 3, 4, 5] as int[]int[] array = [1, 2, 3, 4, 5]

列表:

def list = new ArrayList()   //javadef list = [1, 2, 3, 4, 5]   //groovylist.sort()     // groovy排序list.sort { a, b -> a == b ? 0 : Math.abs(a) < Math.abs(b) ? -1 : 1 }   // groovy自定义排序规则

映射:

def map = new HashMap()   // javadef colors = [red:’ff0000’, green: ‘00ff00’, blue:’0000ff’]println colors[‘red’]    // 索引方式println colors.red   // 索引方式colors.yellow = ‘ffff00’    // 添加同类型的元素colors.complex = [a:1, b:2]   // 添加不同类型的元素

范围:Java底层实现为List

def range = 1..10    //定义范围println range[0]   //索引方式println range contains(10)     // 判断是否包含某个值println range.from   // 索引起始值println range.to   // 索引终止值range.each {       // 遍历println it}

面向对象

默认所有类型都是public的,所以不用写public。除此之外,定义class和interface与Java一样。

def person = new Person(name:’Amy’, age : 26)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值