Java泛型中extends与super有何不同?请举例说明。

2026-05-23 14:280阅读0评论SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1866个文字,预计阅读时间需要8分钟。

Java泛型中extends与super有何不同?请举例说明。

在Java泛型中,`extends T` 和 `super T` 是通配符(Wildcards)的概念。

- `extends T`:表示上限通配符(Upper Bounds Wildcards),意味着泛型可以接受任何类型T或其子类。

- `super T`:表示下限通配符(Lower Bounds Wildcards),意味着泛型可以接受任何类型T或其父类。

<? extends T>和<? super T>是Java泛型中的“通配符(Wildcards)”和“边界(Bounds)”的概念。

Java泛型中extends与super有何不同?请举例说明。

  • <? extends T>:是指“上界通配符(Upper Bounds Wildcards)”
  • <? super T>:是指“下界通配符(Lower Bounds Wildcards)”

为什么要用通配符和边界?

使用泛型的过程中,经常出现一种很别扭的情况。比如按照题主的例子,我们有Fruit类,和它的派生类Apple类。

class Fruit {}
class Apple extends Fruit {}

然后有一个最简单的容器:Plate类。

阅读全文

本文共计1866个文字,预计阅读时间需要8分钟。

Java泛型中extends与super有何不同?请举例说明。

在Java泛型中,`extends T` 和 `super T` 是通配符(Wildcards)的概念。

- `extends T`:表示上限通配符(Upper Bounds Wildcards),意味着泛型可以接受任何类型T或其子类。

- `super T`:表示下限通配符(Lower Bounds Wildcards),意味着泛型可以接受任何类型T或其父类。

<? extends T>和<? super T>是Java泛型中的“通配符(Wildcards)”和“边界(Bounds)”的概念。

Java泛型中extends与super有何不同?请举例说明。

  • <? extends T>:是指“上界通配符(Upper Bounds Wildcards)”
  • <? super T>:是指“下界通配符(Lower Bounds Wildcards)”

为什么要用通配符和边界?

使用泛型的过程中,经常出现一种很别扭的情况。比如按照题主的例子,我们有Fruit类,和它的派生类Apple类。

class Fruit {}
class Apple extends Fruit {}

然后有一个最简单的容器:Plate类。

阅读全文