groovy中对象的比较以及非空判断

groovy中对象的比较以及非空判断,第1张

概述上几次曾经说过groovy中字符串以及集合的基本使用,但是有时我们可能要对这些对象进行比较,这次就围绕这个来分享我学到的东西,分享之前来补充一下in的使用,在前面几次的分享中其实已经使用过但是没有专门拿出来说过 1.in的使用 in一般和for一起配合使用,产生的效果类似foreach,来看下吧 def arr=["上海","南京","福州"]for(item in arr){ pr

上几次曾经说过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.lxhpublic 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}"	}	}
总结

以上是内存溢出为你收集整理的groovy中对象的比较以及非空判断全部内容,希望文章能够帮你解决groovy中对象的比较以及非空判断所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1265501.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-08
下一篇 2022-06-08

发表评论

登录后才能评论

评论列表(0条)

保存