我是这么理解的,先区分 再学会选择用哪个
?表示这里要写一个已有的类名,只是不知道是哪个类名而已
要用T,那么就得先定义T,在哪定义,在类名的后面或方法返回值的前面
public static void show(Collection<?> c)
public static <T> void show(Collection<T> c)
这面两种对方法的定义是一样的
看懂这两句就能将它们区分开来
在show方法中想要用未知类型的变量
? x; //这是不允许的,? 不能拿来定义一个变量
T x; //这样写没问题
看懂这两句就会选择用哪个了
[ 本帖最后由 xuan 于 2011-09-25 23:41 编辑 ] |