方法eat()
使用类型Food
的参数,而Food
是泛型类:
class Food<T> {
T type;
...
}
class Human {
public void eat Food(Food food) {
// eat, eat, and eat, however it has nothing to do with T
}
}
问题是,我应该在Food<?>
的参数中声明Food
而不是eat
吗?方法eat
不在意和使用与T
相关的任何东西吗?
答案 0 :(得分:0)
如果仅使用Food
,则说明您使用的是原始类型。编译器将发出警告,因为它会丢失任何信息并且无法对该类型的后续使用进行任何类型检查。
因此,如果您不关心方法内部的T
,请使用Food<?>
并让编译器知道这一事实。