使用Lazy的小结

必须1. 在Lazy的基础上,2. 使用Lazy类中的方法 操纵Lazy才是Lazy的。

//例如要使用if-else
if(booleanCondition(someA)) {
    return someB;
} else {
    return someC;
}
//转为Lazy: 

//如果没有可以在其基础上操作的Lazy, 就创造一个
Lazy<typeOfSomeA> a = new Lazy<>(someA);

//1. 如果内容多,可以先filter,再map
//  如果同样的booleanCondition需要判断并使用多次,此法可以减少计算次数
Lazy<Boolean> b = a.filter(x -> booleanCondition(x)); 
Lazy<typeOfSomeB> c = b.map(x -> x ? someB : someC);
return c;

//2. 本质上都可以化为一个map
return a.map(x -> booleanCondition(x) ? someB: someC);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值