もし Stream が終端操作を持たない場合、そのストリームの中間操作は実行されません
これは私が今日書いたコードです。最終的にリストにデータが含まれていないことに気づき、デバッグしました。デバッグ中に、peek () 操作がまったく実行されず、スキップされていることがわかりました。
List<JSONObject> list = new ArrayList<>();
sbdqas.queryAll(qs).stream()
.peek(AbstractStandingBookData -> {
Map<String, String> contentMap = AbstractStandingBookData.toContentMap();
contentMap.put("totalReceivables", AmountUtil.convertAmountSmallFormat(contentMap.get("totalReceivables")));
contentMap.put("totalPayable", AmountUtil.convertAmountSmallFormat(contentMap.get("totalPayable")));
list.add(new JSONObject(contentMap));
});
その後、コードを変更し、直接 map () 操作で JSONObject を返し、最終操作 toList () で完了しました!!!