在Java7中我有这个代码:
public int getPlayersOnline() {
int count = 0;
for (Player player : players) {
if (player.isActive()) {
count++;
}
}
return count;
}
Run Code Online (Sandbox Code Playgroud)
我正在尝试尽可能多地使用Java 8功能,如何使用lambdas改进这一功能?
我有以下代码
public Player findPlayerByUsername(String username) {
return players.stream().filter(p -> p.getUsername().equalsIgnoreCase(username))
.findFirst().get();
}
Run Code Online (Sandbox Code Playgroud)
问题是,null如果没有价值,我希望它返回,我将如何进行呢?因为它的立场,只是抛出一个NoSuchElementException.
是否可以IntStream使用索引迭代int数组?
试着这样做:
ByteBuf buf = ...;
int[] anArray = ...;
IntStream.of(anArray).forEach(...); // get index so I can do "anArray[index] = buf.x"
Run Code Online (Sandbox Code Playgroud)