我有以下名为BrokerInvoice的类,它包含以下成员变量
public class BrokerInvoice
{
private List<BrokerInvoiceLineItem> lineItems;
//and its corresponding setters and getters
}
我有下面名为BrokerInvoiceLineItem的java类,如下所示,它在名为brokerInvoice的顶级类中有一个关系,因为下面的类作为列表添加到类中
public class BrokerInvoiceLineItem {
private String brokerRefId;
private double notional;
private Date dealDate;
//corresponding setters and getters
}
现在在一些代码中我得到了父类的对象,它是代理发票本身的
BrokerInvoice brokerInvoice1 = abc.findrty( brokerIdLong , serType );
现在上面的brokerInvoice1对象也包含了类型为BrokerInvoiceLineItem的lineItems的条目,所以我想编辑名为lineitems的列表,这样我在brokerInvoice1对象中的列表就是条件是应该有一个排序预先检查如果lineitems列出名为brokerRefId,notional,dealDate,dealDate的属性为null,则该条目不应该在行项目列表本身中
所以请告知我如何过滤掉我在brokerInvoice1对象中的lineitems列表,这样如果这些属性为空,则lineitemslist中不应该有空属性条目
我正在使用Java 5请告知如何实现这一点我可以通过java5实现相同的目标
答案 0 :(得分:1)
如果您使用的是Java 8,则可以使用Collection
中的$('#test111').on('mouseover', function() {
$("#test222 img:nth-child(2)").css('display', "inline-block");
}).on('mouseout', function() {
$("#test222 img:nth-child(2)").css('display', "none");
})
:
removeIf
这假设您要改变列表。
如果您不想更改listItems.removeIf(i -> i.getBrokerRefId() == null || i.getDealDate() == null);
,只获取没有错误项目的新列表,则可以使用stream filtering:
listItems
请注意,流版本保留与谓词匹配的项目,而List<BrokerInvoiceLineItem> newList = listItems.stream()
.filter(i -> i.getBrokerRefId() != null)
.filter(i -> i.getDealDate() != null)
.collect(Collector.toList());
的项目则相反,因此谓词将被反转。
答案 1 :(得分:0)
Java 5:
private List<BrokerInvoiceLineItem> newLineItems = new ArrayList<BrokerInvoiceLineItem>();
if (brokerInvoice1 != null && brokerInvoice1.lineItems != null){
for(BrokerInvoiceLineItem brokerInvoiceLineItem : brokerInvoice1.lineItems){
if(brokerInvoiceLineItem.getBrokerRefId() != null && brokerInvoiceLineItem.getDealDate() == null){
newLineItems.add(brokerInvoiceLineItem)
}
}
}