Slide 13
Slide 13 text
Predicate ͰϩδοΫΛ͚Δ
!
public static int totalAssetValues(final List assets,!
final Predicate assetSelector) {!
return assets.stream()!
.filter(assetSelector)!
.mapToInt(Asset::getValue)!
.sum();!
}!
!
//!
totalAssetValues(assets, asset -> true);!
totalAssetValues(assets, asset -> asset.getType() == AssetType.BOND));!
totalAssetValues(assets, asset -> asset.getType() == AssetType.STOCK));!
Strategy Pattern ͰϩδοΫΛൈ͖ग़͍ͯ͠Δɻ
ࠓ·Ͱ৽͍͠ΫϥεΛ༻ҙ͍͕ͯͨ͠ɺϥϜμࣜͰදݱͰ͖ΔΑ͏ʹͳͬͨɻ
ؔܕʹ׳Ε͍ͯΔͱී௨ͷύλʔϯ͚ͩͲɺJava Ͱॻ͚ΔΑ͏ʹͳͬͨɻ