Groovy的boolean值

Groovy boolean值

Groovy与Java 的boolean值有着本质的区别. 根据不同的情况, Groovy 会自动将表达式的值 作为boolean看待. 让我们来看看具体的实例. 下面的Java代码不能正常运行:

//Java code 
String obj = "hello" ; 
int val = 4; 
if (obj) {} // ERROR 
if(val) {} //ERROR

Java 必须要你在if条件语句中提供一个boolean表达式值. 上面的代码必须改成 if(obj != null) 和 if(val > 0) 才能正常运行. Groovy 就不会那么挑剔了. 如果你把一个对象放在一个boolean表达式中,Groovy 会检查这个对象是否为null. 它会把null当做false,否则为true, 就像下面的代码:

str = 'hello' 
if (str) { 
    println 'hello' 
} 

输出为:hello

上面是相对于单个对象,那么对于集合(比如java.util.ArrayList)这样的类型,它会怎么判断 了.Groovy 会检查集合是否为空来判断,因此,像if (obj)为 true 的条件只在obj 不为null 且集 合必须拥有至少一个元素:

lst0 = null 
println lst0 ? 'lst0 true' : 'lst0 false' 
lst1 = [1, 2, 3] 
println lst1 ? 'lst1 true' : 'lst1 false' 
lst2 = [] 
println lst2 ? 'lst2 true' : 'lst2 false'

这里写图片描述

上面的代码输出:
lst0 false
lst1 true
lst2 false

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值