Groovy   发布时间:2022-04-12  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Groovy Tip 3 如何在if条件语句中判断对象为空大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
@R_607_5179@      Groovy Tip 3 如何在if条件语句中判断对象为空
 
在Java语言编程中,对对象的非空判断是一个永恒的话题。例如,我们经常需要对一个字符串进行如下的判断:
      if (str!= null &&!str.equals( "" ))
     {
        ......
 }
输入这样的语句的确使人生厌,而且有时候还会忘掉输入“ !str.equals( "" )”语句中的“ !”导致代码出现逻辑错误
而敏捷的Groovy语言开发就不需要我们担心这样的问题。同样的判断语句,我们只需要输入下面的代码
      def str = null
     
      if (str)
     {
         println "str is not null"
     }
      else
     {
         println 'str is null'
 }
这个语句段的执行结果为:
str is null
可以看出 if (str) 判断语句,当 str null 的时候,不执行。你可能要问,当 str = ''的时候会怎样呢?
      def str = ''
     
      if (str)
     {
         println "str is not null"
     }
      else
     {
         println 'str is null'
 }
执行结果还是:
str is null
这样,我们可以把开头的那段 Java 代码改写成如下的代码了:
      if (str)
     {
        ......
 }
这样就简洁多了。不是吗?
除了字符串对象,那其他对象的非空判断呢?我们来看下面的例子:
      def map = [ 'key1' : 'value1' ]
     
      if (map)
     {
         println 'map is not null'
     }
      else
     {
         println 'map is null'
     }
     
     map.remove( 'key1' )
      if (map)
     {
         println 'this time,map is not null'
     }
      else
     {
         println 'this time,map is null'
 }
 
执行结果为:
@H_104_15@map is not null
this time,map is null
 
同样,我们来看看 List 对象:
    def list = []
    if (list)
    {
       println 'list is not null'
    }
    else
    {
       println 'list is null'
    }
    list<< 'a'
   
    if (list)
    {
       println 'here,list is not null'
    }
    else
    {
       println 'here,list is null too'
}
 
输出结果为:
list is null
here,list is not null
 
如果是 Domain 对象呢?
class Empl
{
    String name
}
 
执行下面的语句:
    Empl em = new Empl()
   
    if (em)
    {
       println 'em is not null'
    }
    else
    {
       println 'em is null'
}
 
结果为:
em is not null
可以看出,对于 Domain 对象,只要该对象不是 null ,则 if (em) 条件为 true
 

大佬总结

以上是大佬教程为你收集整理的Groovy Tip 3 如何在if条件语句中判断对象为空全部内容,希望文章能够帮你解决Groovy Tip 3 如何在if条件语句中判断对象为空所遇到的程序开发问题。

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

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