9
コレクションまたはストリームを返す必要がありますか?
メンバーリストに読み取り専用ビューを返すメソッドがあるとします。 class Team { private List < Player > players = new ArrayList < > (); // ... public List < Player > getPlayers() { return Collections.unmodifiableList(players); } } さらに、クライアントが行うことはすべて、リストを1回、即座に繰り返すことであると想定します。プレーヤーをJListか何かに入れるかもしれません。クライアントは後の検査のためにリストへの参照を保存しません! この一般的なシナリオでは、代わりにストリームを返す必要がありますか? public Stream < Player > getPlayers() { return players.stream(); } または、Javaで非慣用的なストリームを返していますか?ストリームは、それが作成された同じ式内で常に「終了」するように設計されていましたか?