我想用 lambdaj 从嵌套数组中提取一个对象。我的模型是拥有“元素”数组的“产品”列表:
public class Product {
Element[] elements;
}
public class Element {
String code;
}
在我的代码中的某处,我有一个产品列表,我想在我的列表中找到一个具有特定代码的元素。
根据这个讨论:https://groups.google.com/forum/?fromgroups=#!topic/lambdaj/QQGmY3cVHP8,我可以使用:
select(myproductList,
having(on(Product.class).getElements()
.contains(selectUnique(elements,
having(on(Element.class).getCode(), equalTo("codeToFind"))));
但不幸的是,这不会编译,因为getElements()
它是一个数组而不是一个集合......
所以我最终得到了这个java代码:
for (Product p : products) {
for (Element e : p.getElements()) {
if (e.getCode().equals("codeTofind")) {
return e;
}
}
}
return null;
有没有办法用 lambdaJ 遍历嵌套数组?