signedOnフィールドがnullのすべての転送をフィルタしたいと思う。最初のコードを実行すると、どちらがヌルで、どれが正しくないのかはっきりしていますが、正しくログされますが、ストリームフィルタを実行すると空のリストが返され、問題の原因を見つけることができませんそれは... signedOnは日付フィールドです。空のリストを返すJava 8ストリームフィルタ常に
これは動作し、エントリ天気をすべてをログに記録しますがnullであるかどうか:
for (Transfer transfer : route.getTransferCollection()) {
if (transfer.getSignedOn() == null) {
logInfo("This transfer is null");
} else if (transfer.getSignedOn() != null) {
logInfo("This transfer is not null");
}
}
これは空のリストを返します:
return route.getTransferCollection()
.stream()
.filter(transfer -> transfer.getSignedOn() == null)
.collect(Collectors.toList());
}
'getTransferCollection()'の戻り値の型は何ですか? – Harald
'filter'の中のログステートメントはどうですか? – Eugene
@Haraldそれはコレクションです –
brightpants