Why do we have to cast the List returned by Collectors.toList() to List<Integer> even though the elements of the Stream are already mapped to Integer? [duplicate]

落爺英雄遲暮 提交于 2019-12-04 18:56:33

Calling list.stream() on a raw List produces a raw Stream. calling map on that Stream doesn't change that Stream to a generic Stream<Integer>. It changes it to another raw Stream. Therefore when you call collect(Collectors.toList()), you get a raw List and have to cast it to (List<Integer>).

Conclusion : don't use raw types.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!