【问题标题】:Generic Methods Java泛型方法 Java
【发布时间】:2014-12-07 23:23:15
【问题描述】:

这两种泛型方法有什么区别吗?

  1. public static <E> void fill(ArrayList<? extends Comparable<? super E>> a)

  2. public static <E extends Comparable<? super E>> void fill2(ArrayList<E> a)

【问题讨论】:

    标签: java generics methods


    【解决方案1】:

    是的,E 的绑定不同。鉴于一些

    class Foo implements Comparable<Foo>
    

    还有一些

    class Bar implements Comparable<Foo> // Not Bar!
    

    Foo 将是 fillfill2 的合法参数,因为第二种方法需要 E = Foo 扩展 Comparable 并将此 Comparable 实现为 E = FooBar 无法实现这一点。

    【讨论】:

      猜你喜欢
      • 2016-03-02
      • 1970-01-01
      • 2015-10-23
      • 1970-01-01
      • 1970-01-01
      • 2021-02-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多