ฉันกำลังพยายามเปลี่ยนบางส่วนสำหรับแต่ละลูปเป็นแลมบ์ดา - forEach()
วิธีการเพื่อค้นหาความเป็นไปได้ของนิพจน์แลมบ์ดา สิ่งต่อไปนี้น่าจะเป็นไปได้:
ArrayList<Player> playersOfTeam = new ArrayList<Player>();
for (Player player : players) {
if (player.getTeam().equals(teamName)) {
playersOfTeam.add(player);
}
}
ด้วยแลมด้า forEach()
players.forEach(player->{if (player.getTeam().equals(teamName)) {playersOfTeam.add(player);}});
แต่อันถัดไปใช้ไม่ได้:
for (Player player : players) {
if (player.getName().contains(name)) {
return player;
}
}
กับแลมด้า
players.forEach(player->{if (player.getName().contains(name)) {return player;}});
มีบางอย่างผิดปกติในไวยากรณ์ของบรรทัดสุดท้ายหรือเป็นไปไม่ได้ที่จะกลับจากforEach()
วิธีการ?