Guava のOptionalクラスは、危険なほどMaybe
Java で有用な型に近づいています。私がやりたいのは、それを少し拡張することだけです:
class Maybe<X> extends Optional<X> {
public Maybe<Y> map(Function<X, Y> f) {
if (isPresent()) {
return Maybe.of(f.apply(get()));
}
return Maybe.absent();
}
}
そんなに大変ですか?どうやらそうです。Y
Java は関数内の型が何であるかを認識せmap
ず、すべてが恐ろしく死んでしまいます。map
Javaでジェネリックを書くことは可能ですか?