コレクションに null メンバーがないことを確認し、@NonNull アノテーション付きの型を返す汎用関数を Java8 に実装したいと考えています。
入力タイプ: T は Collection を拡張します。ここで、T+U は null 許容です。
結果の型: @NonNull T、@NonNull U
配列の場合、これは次のようになります。
public static <T> @NonNull T @NonNull[] arrayHasNoNullMember( @Nullable T @Nullable[] value) {
しかし、コレクションの場合、結果の型が入力の型と同じであることを定義する方法がわかりませんが、コレクションと要素の型には @NonNull 注釈があります。
これは私がやりたいことですが、有効な構文ではありません:
public static <T extends Collection<U>, U> @NonNull T<@NonNull U> collectionHasNoNullMember(T<U> col) {
手伝ってくれますか?