泛型不带参数是什么意思?

biange2019 2017-05-20 09:46:59
比如:List<byte[]> xxx= new ArrayList<>();和
List<byte[]> xxx= new ArrayList<?>();有什么区别呢?
...全文
525 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
soton_dolphin 2017-08-29
  • 打赏
  • 举报
回复
这么写是错误的,wildcard 不能出现在右边。如果要生成一个新的实例,必须明确指定类型参数或者编译器推断。 List<byte[]> xxx= new ArrayList<?>(); 应该是: List<byte[]> xxx= new ArrayList<>();
自由自在_Yu 2017-08-29
  • 打赏
  • 举报
回复
后面的是Java1.8之后才可以用的,算是简写版的吧 可以这样定义List xxx= new ArrayList<?>();
lin_Rumble 2017-08-29
  • 打赏
  • 举报
回复
说明了需要的类型
Timor_D 2017-08-29
  • 打赏
  • 举报
回复
楼上+1
qq_33678032 2017-08-29
  • 打赏
  • 举报
回复
在jdk8之后第二种方法就可以省略了(后台),比如:List<String> a = new ArrayList();就可以了,即使你写成new ArrayList<String>();括号里的<String>也会显示成灰色,说明开发工具提示你写它是多余的,可以省略.
6到不胜寒 2017-08-28
  • 打赏
  • 举报
回复
java8 可以正常编译,其它版本这样写会编译不过去
biange2019 2017-05-21
  • 打赏
  • 举报
回复
第二种是错的。编译会报错
沁海棠 2017-05-21
  • 打赏
  • 举报
回复
前面是编译器优化,类型推断可以省略,后面的不知道应该也一样吧
沁海棠 2017-05-21
  • 打赏
  • 举报
回复
前面是编译器优化,类型推断可以省略,后面的不知道应该也一样吧

62,628

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧