有人可以尽可能详细地解释以下类型之间的差异吗?
List
List<Object>
List<?>
Run Code Online (Sandbox Code Playgroud)
让我更具体一点.我什么时候想用
// 1
public void CanYouGiveMeAnAnswer(List l) { }
// 2
public void CanYouGiveMeAnAnswer(List<Object> l) { }
// 3
public void CanYouGiveMeAnAnswer(List<?> l) { }
Run Code Online (Sandbox Code Playgroud) 在这里使用泛型时会产生一些混乱.我看过Java Generics?但还是有几个问题.
说我有:
public class Honda implements ICar(){
}
public class Opel implements ICar(){
}
Run Code Online (Sandbox Code Playgroud)
我应该使用:
public class Person{
ICar car;
.
.
public Person (ICar c){
car = c;
}
}
Run Code Online (Sandbox Code Playgroud)
要么
public class Person<T extends ICar>{
T car;
.
.
public Person(T c){
car = c;
}
}
Run Code Online (Sandbox Code Playgroud)
还是取决于执行的任务?
泛型仅用于聚合关系(容器等); 那么,它们只是用于收藏吗?