原始类型。 应参数化对generics类型的引用

我有一个Cage类:

public class Cage { // the construtor takes in an integer as an explicit parameter ... } 

我试图在另一个类main方法中实例化Cage的对象:

 private Cage cage5 = new Cage(5); 

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

Cage是generics类型,因此您需要指定一个类型参数,如此(假设有一个class Dog extends Animal ):

 private Cage cage5 = new Cage(5); 

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

如果省略类型参数,那么在这种情况下你最终得到的就是Cage 。 但是,即使这是您想要的,您仍应显式声明类型参数。