作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我有一个 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/
我是一名优秀的程序员,十分优秀!