我在使用Java 8中的removeIf遇到了困难,希望能得到一些帮助。
List<ACHTransaction> transactions = transactionDao.retrieveTransactions(getJobParameters();
我希望能够根据对象的检查属性从交易中删除这些交易,涉及到it技术相关内容。
如果transaction.getFileHash不为空,则我想要删除该交易。 如果transaction.getFileHash为空,则我想要保留它。
因此,我尝试使用removeif方法进行删除操作。
List<ACHTransaction> transactions = transactionDao.retrieveTransactions(getJobParameters().removeIf(t -> (Optional.ofNullable(t.getFileHash()).orElse(0).intValue() != 0));
但我遇到了错误。有人能解释一下如何使用 removeif 和对象属性吗?
removeIf
方法对调用它的集合进行修改,并返回一个布尔值,告诉你它是否修改了集合,也就是是否有任何匹配的元素被删除。你不能将该布尔值赋值给列表。 - Holger