有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

如何将java stream collect转换为scala

Java代码

objRefs = objRefs.stream().filter(objRef -> DataUtil.isNotEmpty(objRef)).collect(Collectors.toCollection(LinkedHashSet::new));

如何将其转换为scala? 下面的代码编译错误

objRefs = objRefs.stream().filter(objRef => DataUtil.isNotEmpty(objRef)).collect(Collectors.toCollection(LinkedHashSet::new));

共 (1) 个答案

  1. # 1 楼答案

    LinkedHashSet::new不是有效的scala。你的意思是调用LinkedHashSet的构造函数吗?如果是,请使用new LinkedHashSet(_)

    您选择的解决方案是将java转换为scala。如果你这么做了,使用scala就没有什么价值了,你还不如使用java

    更惯用的解决方案是

    objRefs.stream().filter(DataUtil.isNotEmpty).asScala(Set)