もし 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 () で完璧に終了しました!!!