我想在 Java8 中实现一个通用函数,它验证一个集合没有空成员并返回一个带有 @NonNull 注释的类型。
输入类型:T 扩展集合,其中 T+U 可以为空。
结果类型:@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) {
你能帮我吗?