戦えプログラマン

いつだって戦いなのだ

ラムダ式のお勉強

たしかに短く書けるようになる。
が、逆に可読性を落とす気も・・・

試しに
ハンズオン3「[3] 会員セキュリティ情報のリマインダ質問で2という文字が含まれている会員を検索」
ハンズオンセクション 3 | DBFlute
のアサート部分を書いて抜粋してみる。

これが

// java 7
MemberSecurityCB cb = new MemberSecurityCB();
cb.query().setMemberId_InScope(memberIdList);

ListResultBean<MemberSecurity> memberSecurityList = memberSecurityBhv.selectList(cb);

for (MemberSecurity ms : memberSecurityList) {
    assertTrue(ms.getReminderQuestion().contains("old type"));
}

こうなる

// java 8
memberSecurityBhv.selectList(cb -> cb.query().setMemberId_InScope(memberIdList)).forEach(ms -> assertTrue(ms.getReminderQuestion().contains("ラムちゃん")));

縦行が横に移動しただけじゃねえか!
スコープが限定的になるのはイイネ