A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

java基础提问:泛型的通配符如何理解,帮忙看下代码
例如: List<?> list = new ArrayList<String>();
上面这句代码中在new ArrayList<String>()不是已经指定了为String类型吗?那前面的泛型加通配符还有意义吗????
还有,既然通配符表示不确定要存到集合中的元素为什么类型的,那代码可不可以写成下面这样:
List<?> list = new ArrayList<>();    //后面采用菱形泛型
请大神帮忙分析一下

3 个回复

正序浏览
当然可以,JDK1.7新特性,菱形泛型
回复 使用道具 举报
测试了一下:
List<?> list = new ArrayList<>();    //后面采用菱形泛型
这个编译可以通过,只不过在后面的调用中不会用:
例如   list.add(new Student("zhangsan",10));好像编译不通过,不知道为什么?
回复 使用道具 举报
还有,通配符还有其他用法吗?如果有的话请帮忙一并列出,谢谢!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马