如何仅针对集合的Set和List类型限制我的方法参数,而不是Map?

时间:2014-12-26 07:19:55

标签: java generics collections

对于不同类型的参数,我有两种类似的方法。
1。对于java.util.Set

public static <T> List<? super T> consumeSet(Set<? extends T> collection){
    return null;
}

2。对于java.util.List BR&gt;

public static <T> List<? super T> consumeList(List<? extends T> collection){
    return null;
}

我想实现一种只使用ListSet但不使用Map的工具的常用方法。我正在尝试下面提到的方法签名。这是正确的方法吗?如果没有,有人能建议我正确的方法吗?感谢。

public static <T,V extends Set<T> & List<T>> List<? super T> consumeListAndSetButNotMap(V collection){
        return null;
    }

1 个答案:

答案 0 :(得分:3)

您可以使用共享的Collection界面。这不会接受Map