这与类型擦除无关。
查看错误消息:
(argument mismatch; invalid method reference reference to toString is ambiguous both method toString(int) in Integer and method toString() in Integer match)
的
Integer类有两个
toString匹配由预期的功能的界面,方法
map()方法。一个是静态的一个
int参数,而另一种是
toString()重写方法
Object的
toString()。
编译器不知道您是否要执行此操作:
Arrays.asList(1,2,3).stream().map(i->Integer.toString(i)).forEach(System.out::println);
或这个 :
Arrays.asList(1,2,3).stream().map(i->i.toString()).forEach(System.out::println);



