![](/img/trans.png)
[英]Type Class is a raw type. References to generic type Class<T> should be parameterized
[英]Raw type. References to generic types should be parameterized
我有一个笼子类:
public class Cage<T extends Animal> {
// the construtor takes in an integer as an explicit parameter
...
}
我正在尝试在另一个类 main 方法中实例化 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
本身)。
如果省略 type 参数,那么在这种情况下最终得到的基本上是Cage<Animal>
。 但是,即使这是您想要的,您仍然应该明确声明类型参数。
对于像我这样的其他 Java 新手。
public class ContinuousAddressBuilder<T> extends VariableLengthPacket {
...
/* T=int/float/double */
private ArrayList<T> informosomes;
...
public ContinuousAddressBuilder builderCon(int con) {
...
}
}
在你的课后添加<T>
:
从改变
public ContinuousAddressBuilder builderCon(int con)
到
public ContinuousAddressBuilder<T> builderCon(int con)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.