groovy对象比较以及空判断

groovy 对象比较以及空判断 #

目前测试得知 groovy的比较貌似很多直接可以使用==来比较

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

def list1 = []
def list2 = [1,2,3,4]

boolean check = list1.is(list2) ;
println(check)

if 判断对象是否为空 #

  • groovy中判断对象是否为空,直接if(对象){}即可,这种便捷真的很强
def list1 = []
def list2 = [1,2,3,4]
//直接写入 有点像C语言里面if可以直接把0,和非0作为boolean来比较
if (!list1){
    println("list1为null") ;
}
if (list2){
    println("list2不为null") ;
}
  • 特殊判断法
//def m5 = [name:"a"];
def m5 = [];
println "${m5?.name}" ;
//注意目前我用list失败了
println "${list1?.get(0)}" ; //报error 数组越界 因此这种写法只适合map