Groovy中的特色知识点
程序员文章站
2024-03-25 10:14:10
...
1、in的使用:
in一般和for一起配合使用,产生的效果类似foreach,来看下吧
def arr=["上海","南京","福州"]
for(item in arr){
println item
}
上面的代码可以遍历list集合
2、groovy对象的比较
这种情况使用就比较多了,例如字符串、map集合、List集合的比较,来看看下面的这段代码:
//groovy对象的比较比较---(重要)
//1.字符串比较
def str1="Hello World1"
if("Hello World"==str1){
println "Hello World"
}else{
println "不匹配"
}
//2.map集合的比较(list集合也可以这样比较)----(重要)
def m1=["name":"李明","age":20]
def m2=["name":"李明","age":21]
def m3=["name":"李明","age":21]
if(m1==m2){
println "m1和m2匹配"
}else{
println "m1和m2不匹配"
}
特别是字符串的比较,是不是比java要简洁的多呢
如果要比较两个对象的引用是否相同在groovy中可以使用is,如下所示:
//判断对象的引用是否相同---(重要)
println m1.is(m3)
3、if判断对象是否为空
groovy中判断对象是否为空,直接if(对象){}即可,这种便捷真的很强大
//if判断对象是否为空
def m5=["name":"Lucy"]
//判断map集合是否为空(字符串或list都可以这么判断)----(重要)
if(m5){
println "m5不为空"
}
但是这种写法还是不够简洁,groovy还提供了一种更简单的写法即 ?.
//更为方便的判断对象是否为空的操作符 ?.-------(重要)
println "${m5?.name}"
还有些数组的Groovy特色语法:
package org.lxh
public class UseRange{
public static void main(def args){
//定义一个range
def range=1..15
println range.contains(10);
println range.from;
println range.to;
//使用range输出7天的日期
def today = new Date()
def nextWeek = today + 7
(today..nextWeek).each{
println it
}
}
上一篇: SLAM开发环境