新しいGuava 10 Optionalは、自然共変であるため、キャストすることができます。Guavaの使い方任意の "自然共変オブジェクト"
私はそうしようとすると、それは少し醜い:
Optional<Integer> opti = Optional.of(42);
Optional<Number> optn = (Optional) opti;
私はのようないくつかのユーティリティ関数を見たい:
static <T> Optional<T> transform(Optional<? extends T> opt, Class<T> clazz);
(オプションのメンバ関数としてこれを表現するには?)
:は、次のように変換関数オブジェクトを定義することも可能です
Collection<Optional<Double>>
をCollection<Optional<Number>>
に変換するには、それぞれに対して新しいオブジェクトを作成しないでください。
返されたFunctionオブジェクトであっても、内部シングルトンによって実現されると思います。
醜い型パラメータの必要がありません: 'Optional.of((番号)42);' –