黑马程序员技术交流社区
标题:
关于泛型的一个小问题
[打印本页]
作者:
柏涛
时间:
2014-1-19 15:57
标题:
关于泛型的一个小问题
List<?> list = new ArrayList<>(); list.add(1);
这句话为什么错了呢
作者:
淡夜清风
时间:
2014-1-19 16:28
本帖最后由 淡夜清风 于 2014-1-19 16:32 编辑
。。。。
不能实例化 ArrayList<?>类型
实例化的时候,泛型的类型要指定好具体的类型,不能再用占位符"?" 因为?不代表任何类型。
=左右两边<>里的类型要一致,而且里面类型必须是类类型或者接口类型。
List<Integer> list = new ArrayList<Integer>();这样就可以了。
作者:
宋星
时间:
2014-1-19 22:22
可以换成List<T> list = new ArrayList<T>(); list.add(1);
因为等号左右两边的泛型要一致,而?是任意类型,不行。
作者:
↑↓ME→←
时间:
2014-1-19 23:25
你的?号代表什么类型的数据,java编译器根本就不识别这个符号,所以报错!<>里可以不写,也可以写类名或接口名
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2