Groovy   发布时间:2022-04-12  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Groovy Tip 27 Groovy语言对一些常用操作符的扩展大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

         Groovy Tip 27 Groovy语言对一些常用操作符的扩展

 

 

Groovy语言为了编码的快捷,除了引入了一些Java语言所没有的操作符,还大量的对Java语言在使用的操作符进行了功能上的扩展,使得这些操作符在操作便捷性上得到更好的扩展,使用范围更加广泛。

比如,在Java语言中,有如下代码

      

       int i = 0;

       String str = "a";

      

       if(str.equals("a")) i = 1;

       else i = 0;

      

       System.out.println(i);

 

 

对于上面的代码,在Java语言中,可以用如下的赋值语句代替:

      

       String str = "a";

      

       int i = str.equals("a")?1:0;

      

       System.out.println(i);

 

Groovy语言,当然仍然可以使用上面的赋值语句。如下:

 

       def type = 'a'

      

       def result = type=='a'?1:0

             

       println result

   

 

但对于如下的代码

      

       int i = 0;

      

       String str = "a";

      

       if(str.equals("a")) i = 1;

       else if(str.equals("b")) i = 2;

       else if(str.equals("c")) i = 3;

       else i = 0;

      

    System.out.println(i);

 

Java语言中,上面的赋值语句就不能使用了,顶多可以使用switch语句,但switch语句并不能减轻多少代码量。

而在Groovy语言中,却仍然可以使用上面的语句,代码如下:

 

       def type = 'd'

      

       def result = type=='a'?1:type=='b'?2:type=='c'?3:0

             

       println result

 

 

看到上面的语句,我们就可以想起pl-sql里面的赋值语句,都是一样的美妙。

 

Java语言中,通过数组的下标取值是我们常用的一种取值方法,示例代码如下:

      

       String[] strs = new String[]{"a","b","c"};

      

       System.out.println(strs[2]);

 

但是,在Java语言中,我们只能对数组使用下标取值;而在Groovy语言中,绝大多数的集合类型,如数组、ListStringStringBuffer等,都可以通过使用下标来取值,示例代码如下:

 

       def arr = [1,2,3,4] as int[]

 

       println arr[2]

 

 

       def list = ['a','b','c','d']

 

       println list[3]

 

       def str = 'Hello'

      

       println str[1]

 

       def sb = @H_604_1058@new StringBuffer()

 

       sb<<'a'<<'b'<<'c'<<'d'

      

       println sb[0]

 

   

 

这已经是相当让人兴奋的了,但Groovy语言还没有停止脚步,依然对通过下标的取值操作做了进一步的扩展。

比如,对于如下的Java代码

 

       String[] strs = new String[]{"a","c"};

   

如果我们要获取倒数第二个元素,在Java语言中,需要做如下的编码:

      

       System.out.println(strs[strs.length-2]);

 

但是,在Groovy语言中,只需如下编码:

 

       def list = ['a','d']

 

       println list[-2]

 

Groovy语言中,负数下标表示从集合后面开始数,“-1”是倒数第一个元素,“-2”是倒数第二个元素,等等,如此类推。

 

Java语言中,运算符“+=”通常被用来做算术运算,如下面所示的例子:

int i = 0;

      

       i += 4;

      

    System.out.println(i);

 

Groovy语言中,如您所料,它的使用范围也被大大的扩大了,以至于可以使用于除了算术运算以外,还有,数组、List、字符串、StringBuilderStringBuffer等一些数据类型的运算中,请看下面的例子:

     

      def list = [1,3]

     

      list += 4

     

      println list

     

      def str = 'abc'

     

      str += 'd'

     

      println str

     

      def sb = @H_604_1058@new StringBuilder()

     

      sb += 'a'

     

      println sb.toString()

     

      def sb1 = @H_604_1058@new StringBuffer()

     

      sb1 += 'b'

     

      println sb1.toString()

 

 

上面代码的运行结果为:

[1,2,3,4]

abcd

a

b

 

 

看到了上面的运行结果,如您所能想到的那样,运算符“+=”在上面的一些数据类型中的作用大致相当于运算符“<<”。至于用哪个方便,我的感觉都差不多,可能有人会习惯使用“+=”一些。

大佬总结

以上是大佬教程为你收集整理的Groovy Tip 27 Groovy语言对一些常用操作符的扩展全部内容,希望文章能够帮你解决Groovy Tip 27 Groovy语言对一些常用操作符的扩展所遇到的程序开发问题。

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

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。