3
我有以下类的Java 8周中的访问嵌套前值列出
class Customer {
List<String> itemCodes;
String customerId;
}
可以说我有客户名单,我需要与特定itemCode搜索在客户第一的客户在此列表中。
我目前做的方法如下
for (Customer cust : Customers) {
if (cust.getItemCodes() != null && cust.getItemCodes().contains("SPECIFIC_CODE")) {
return cust.getCustomerId();
}
}
我想用Java8
我能得到现在最好的是
customers.stream().flatMap(cust -> cust.getItemCodes().stream()).filter(code -> code.equals("SPECIFIC_CODE")).findFirst();
上述循环转换但这返回我值作为项目代码本身可选。但我需要该人的客户ID。问题是,我不确定如何在这里访问lambda的以前的值?
那么有什么办法可以用java8来代替上面的循环吗?
非常感谢!到目前为止接近:) –