美文网首页
Groovy中的特色知识点

Groovy中的特色知识点

作者: 奇乞祈兴 | 来源:发表于2017-03-30 16:48 被阅读0次

    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
            }
    
    }
    

    相关文章

      网友评论

          本文标题:Groovy中的特色知识点

          本文链接:https://www.haomeiwen.com/subject/ogrpottx.html