起因:無界萬用字元<?>作為引數可以接受任意型別引數,入參的具體型別在呼叫方法時並不需要確定,聯想到泛型方法中引數的型別是在呼叫方法時被定義,實踐探究二者異同。
public class Generic01 {
public static void main(String[] args) {
ArrayList<String> arrayList = new ArrayList<String>();
arrayList.add("test1");
arrayList.add("test2");
TestGeneric aa = new TestGeneric();
aa.getClass1(arrayList);
aa.getClass2(arrayList);
}
}
class TestGeneric{
public<T> void getClass1(List<T> t){
for (T t1 : t) {
System.out.println(t1.getClass());
}
}
public void getClass2(List<?> t){
for (Object o : t) {
System.out.println(o.getClass());
}
}
}
結論:public