groovy中对象的比较以及非空判断
发布时间:2020-12-14 16:50:33 所属栏目:大数据 来源:网络整理
导读:上几次曾经说过groovy中字符串以及集合的基本使用,但是有时我们可能要对这些对象进行比较,这次就围绕这个来分享我学到的东西,分享之前来补充一下in的使用,在前面几次的分享中其实已经使用过但是没有专门拿出来说过 1.in的使用 in一般和for一起配合使用,
上几次曾经说过groovy中字符串以及集合的基本使用,但是有时我们可能要对这些对象进行比较,这次就围绕这个来分享我学到的东西,分享之前来补充一下in的使用,在前面几次的分享中其实已经使用过但是没有专门拿出来说过 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觉得收获还是很大的,下次打算分享一点groovy的特色知识MOP。 全部代码: 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 } //in的用法------(重要) def arr=["上海","福州"] for(item in arr){ println item } //groovy对象的比较比较---(重要) //1.字符串比较 def str1="Hello World1" if("Hello World"==str1){ println "Hello World" }else{ println "不匹配" } //2.map集合的比较(list集合也可以这样比较)----(重要) def m1=["name":"李明","age":21] if(m1==m2){ println "m1和m2匹配" }else{ println "m1和m2不匹配" } //判断对象的引用是否相同---(重要) println m1.is(m3) //if判断对象是否为空 def m5=["name":"Lucy"] //判断map集合是否为空(字符串或list都可以这么判断)----(重要) if(m5){ println "m5不为空" } //更为方便的判断对象是否为空的操作符 ?.-------(重要) println "${m5?.name}" } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |