gpt4 book ai didi

java - 原始类型。对泛型类型的引用应该被参数化

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:32:37 24 4
gpt4 key购买 nike

我有一个 Cage 类:

public class Cage<T extends Animal> {
// the construtor takes in an integer as an explicit parameter
...
}

我正在尝试在另一个类的主要方法中实例化 Cage 的对象:

private Cage cage5 = new Cage(5);

我收到错误:Cage 是原始类型。对泛型 Cage 的引用应该被参数化。我尝试了几个想法,但对这个棘手的语法感到困惑 :o(

最佳答案

Cage<T>是一个泛型类型,所以你需要指定一个类型参数,像这样(假设有一个 class Dog extends Animal ):

private Cage<Dog> cage5 = new Cage<Dog>(5);

您可以使用任何扩展 Animal 的类型(甚至 Animal 本身)。

如果您省略类型参数,那么在这种情况下您最终得到的结果本质上是 Cage<Animal> .但是,您仍然应该明确声明类型参数,即使这是您想要的。

关于java - 原始类型。对泛型类型的引用应该被参数化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16952283/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com