groovy条件语句判空

本文介绍了使用Groovy语言进行对象非空判断的方法,通过简洁的语法实现对字符串、Map、List及Domain对象的判断,并提供了示例代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

     Groovy  如何在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)判断语句,当strnull的时候,不执行。你可能要问,当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'
 }
 
执行结果为:
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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值