可以说我有一个Gizmo
类,带有一个接受String的构造函数。
可以说我想将List<String>
转换为List<Gizmo>
。
我可能会写:
List<String> strings = new ArrayList<>();
List<Gizmo> gizmos = strings
.stream()
.map(str -> new Gizmo(str))
.collect(Collectors.toList());
现在,问题是IntelliJ告诉我可以用方法引用替换lambda。问题是,我很确定方法引用不能采用参数。
最佳答案
我认为InteliJ意味着要更换
.map(str -> new Gizmo(str))
和
.map(Gizmo::new)
这是构造函数引用。请参阅here的详细说明。