admin管理员组文章数量:1794759
java8 Optional使用 stream filter多级过滤
java8 Optional使用 stream filter多级过滤
代码语言:javascript代码运行次数:0运行复制package com.example.core.mydemo.java8;
public class MyModel {
private String couponCode;
private Integer orderType;
private String orderNo;
private String frameNo;
private Integer couponStatus = 0; //默认
public Integer getCouponStatus() {
return couponStatus;
}
public void setCouponStatus(Integer couponStatus) {
this.couponStatus = couponStatus;
}
public String getOrderNo() {
return orderNo;
}
public void setOrderNo(String orderNo) {
this.orderNo = orderNo;
}
public String getFrameNo() {
return frameNo;
}
public void setFrameNo(String frameNo) {
this.frameNo = frameNo;
}
public String getCouponCode() {
return couponCode;
}
public void setCouponCode(String couponCode) {
this.couponCode = couponCode;
}
public Integer getOrderType() {
return orderType;
}
public void setOrderType(Integer orderType) {
this.orderType = orderType;
}
}
package com.example.core.mydemo.java8;
import java.util.ArrayList;
import java.util.List;
import java.util.Optional;
public class ListTest {
public static void main(String[] args) {
List<MyModel> list = new ArrayList();
MyModel model = new MyModel();
model.setCouponCode("111111");
model.setCouponStatus(1);
model.setOrderType(1);
list.add(model);
model = new MyModel();
model.setCouponCode("22222");
model.setCouponStatus(0);
model.setOrderType(2);
list.add(model);
int orderType = 1;
Optional<MyModel> optional = Optional.ofNullable(list).orElseGet(ArrayList::new).stream().filter(x -> x.getOrderType() == orderType).filter(x ->x.getCouponStatus() == 0).findFirst();
MyModel model3 = optional.orElse(null);
if(model3 != null) {
String couponId = model3.getCouponCode();
//关联订单号
System.out.println("couponId="+couponId);
}else{
System.out.println("未找到未使用的记录");
}
}
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。 原始发表:2023-03-14,如有侵权请联系 cloudcommunity@tencent 删除filterjava8publicstreamstring本文标签: java8 Optional使用 stream filter多级过滤
版权声明:本文标题:java8 Optional使用 stream filter多级过滤 内容由林淑君副主任自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.xiehuijuan.com/baike/1754979829a1708979.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论