上几次曾经说过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中对象的比较以及非空判断所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)