美文网首页
优先考虑泛型方法

优先考虑泛型方法

作者: 没走过的二丁目 | 来源:发表于2018-07-26 15:55 被阅读0次

    就如类可以从泛型中收益一般,方法也一样。静态工具方法尤其适合于泛型化。collections中的所有“算法”方法(例如binarysearch ,sort)都泛型化了
    编写泛型方法与编写泛型类相似。例如下面这个方法,它返回两个集合的联合:

    image.png

    这个方法可以编译,但是有两个警告,
    1.hashSet(Collections<? extends E>) as a member of raw type hashSet
    2.addAll(Collections<? extends E>) as a member of raw type Set
    为了修正警告,使方法变成类型安全的,要将方法声明修改为一个类型参数,表示这三个集合的元素类型(两个参数及一个返回值),并在方法中使用类型参数。声明类型参数的类型参数列表,处在方法的修饰符及其返回类型之间,修改后的代码如下:

     public static<E> Set<E> union (Set<E> s1,Set<E> s2){
            Set<E> result = new HashSet<E>(s1);
            result.addAll(s2);
            return result;
        }
    

    相关文章

      网友评论

          本文标题:优先考虑泛型方法

          本文链接:https://www.haomeiwen.com/subject/cuvvmftx.html