Groovy : 可以避免NullPointerException的安全属性访问

在Groovy中实现安全的属性访问是非常简单的事情。假如我们有下面一个简单的数据模型:


class Company {
Address address
String name
}

class Address {
Street street
String postalCode
String city
}

class Street {
String name
String number
String additionalInfo
}


我们想要把街道名称打印出来,但是我们不知道是不是所有的实例都可用。为了防止出现NullPointerException异常,我们需要这样写代码:


// company可能为null.
if (company != null && company.getAddress() != null && company.getAddress().getStreet() != null) {
println company.address.street.name
}


如果用Groovy你可以这样简单的实现:


// company可能为null.
println company?.address?.street?.name


如果中间的任何一个对象是null,整个表达式返回null。而不会产生NullPointerException。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值