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

优先考虑泛型方法

作者: 没走过的二丁目 | 来源:发表于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;
    }

相关文章

  • [Effective Java] Item 27: Favor

    类似于Item 26里优先考虑泛型,Item 27告诉我们要优先考虑泛型方法。 编写泛型方法和编写泛型类相似。泛型...

  • 第五章泛型

    目录 不要使用原始类型 消除非检查警告 列表优于数组 优先考虑泛型 优先使用泛型方法 使用限定通配符来增加API的...

  • 《 Effective Java》关于泛型,方法和枚举,注解的建

    泛型 27.优先考虑泛型方法28.利用有限制通配符来提高API的灵活性29.优先考虑类型安全的异构容器 枚举 30...

  • 优先考虑泛型方法

    就如类可以从泛型中收益一般,方法也一样。静态工具方法尤其适合于泛型化。collections中的所有“算法”方法(...

  • 优先考虑泛型

    一般来说,将集合声明参数化,使用JDK提供的泛型或者泛型方法都不困难,,编写自己的泛型会比较困难一些,但是值得花时...

  • 提示三十

    提示三十: 优先使用泛型方法。 正如泛型可以帮助我们减少强制类型转化,泛型方法也有同样的作用。作者先用一个简单的例...

  • 第27条 优先考虑泛型方法

    考虑如下的方法,它的作用是返回两个集合的联合: 这个方法可以编译,但是有三条警告: 有道翻译:-类型安全:构造函数...

  • 第 30 条:优先考虑泛型方法

    类型推导 泛型单例工厂 递归类型限制

  • Java 泛型

    泛型类 例如 泛型接口 例如 泛型通配符 泛型方法 类中的泛型方法 泛型方法与可变参数 静态方法与泛型 泛型上下边...

  • 泛型的使用

    泛型有三种使用方式,分别为:泛型类、泛型接口、泛型方法 泛型类 泛型接口 泛型通配符 泛型方法 静态方法与...

网友评论

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

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