List<T>与List<?>的区别

T 代表某一类型 ? 代表任意类型。。

T因为代表是某一确定类型。。所以你可以使用它。。
比如你有个List<T>类型的变量tList 你可以用T t = tList.get(1);也可以用add但是?可以是任意类型。。你不能进行那种与他里面装的东西的类型有关的操作。。比如add get等。。其中get只能复制给object类型。add甚至连object都不能用。。因为他可以是任意类型。。编译器不能确定他是什么类型。。
但前者编译器知道他的类型是T。。

我说的是调用List里的get 和add方法
原文地址:https://www.cnblogs.com/zhxn/p/6944559.html