假设我有一个将只读视图返回到成员列表的方法:
class Team {
private List < Player > players = new ArrayList < > ();
// ...
public List < Player > getPlayers() {
return Collections.unmodifiableList(players);
}
}
进一步假设所有客户要做的就是立即遍历列表一次。也许将播放器放入JList之类。客户端就不能存储到列表的引用以便稍后进行检查!
在这种常见情况下,我应该返回流吗?
public Stream < Player > getPlayers() {
return players.stream();
}
还是在Java中返回流非惯用语?流是否设计为始终在创建它们的相同表达式内被“终止”?
芜湖不芜
森栏
相关分类