java如何处理泛型类型的引用

java如何处理泛型类型的引用,java,generics,reference,wildcard,Java,Generics,Reference,Wildcard,java如何存储和处理带有引用的通用信息 List是List的子类型。请解释上述说法。继承如何与泛型对象的引用一起工作。“a是B的子类型”意味着在需要类型B的任何地方,都可以使用类型a。在您的语句中,List类型是“任何类型的对象列表,我们不关心它,List类型是“类型A的对象列表”。因此,很明显,在我们需要“任何类型的对象列表”的地方,我们也可以使用“类型A”的对象列表 使用通配符(?)指定无界通配符类型,例如,List。这称为未知类型的列表。有两种情况下,无界通配符是一种有用的方法: 如果您

java如何存储和处理带有引用的通用信息

List
List
的子类型。请解释上述说法。继承如何与泛型对象的引用一起工作。

a
B
的子类型”意味着在需要类型
B
的任何地方,都可以使用类型
a
。在您的语句中,
List
类型是“任何类型的对象列表,我们不关心它,
List
类型是“类型
A
的对象列表”。因此,很明显,在我们需要“任何类型的对象列表”的地方,我们也可以使用“类型
A
”的对象列表

使用通配符(?)指定无界通配符类型,例如,List。这称为未知类型的列表。有两种情况下,无界通配符是一种有用的方法:

  • 如果您正在编写一个可以使用对象类中提供的功能实现的方法
  • 当代码在泛型类中使用不依赖于类型参数的方法时无界(?)移动到有界类型()是从通用移动到特定实体

    让我们看一下我自己的例子

  • 地球,一个有生命的星球

  • 动物是一些生物

  • 人类是一种有两条腿和两只手的动物

  • 男人和女人是两种类型的人

  • 如果有的话?在列表中,您可以将列表应用于生物。但是,如果您希望您的列表仅包含人类或男性女性,您将根据需要决定有界类型

    当您从通用移动到特定:列表<?>,列出<生物>,列出<人类>,列出<人类>,您正在将更具体的事物应用于您的实体

    树是一种活物,就像人或人一样,但它不能像人一样有两条腿和两只手,它也不能思考。

    您必须决定在哪个特定级别将实体绑定到特定类型。

    可能的副本