例:
List<String> list = stream.collect(Collectors.toList());
list.sort(null);
return list.toArray(new String[list.size()]);
変換後:
return stream.sorted().toArray(String[]::new);
変換後の Stream チェーンでは、明示的な ArrayList が Collectors.toList() に、あるいは明示的な HashSet が Collectors.toSet() に置換されている場合があるため、注意が必要です。 現在のライブラリ実装では、これらのコレクションを内部的に使用しています。 ただし、この手法はあまり信頼性が高くないため、将来的にはコードのセマンティクスを変更する可能性があります。
不安な場合は、'toList()' または 'toSet()' コレクターを提案しない オプションを使用して、toList および toSet コレクターではなく、Collectors.toCollection() を提案させるようにしてください。