用方法引用替换此lambda.(sonar.java.source未设置.假设为8或更高.)

raj*_*aji 4 java sonarqube

List<UUID> insrVrfyIds = insrVrfyObjsNew.stream().map(insrVrfy -> insrVrfy.getCustomerInsrVrfyId()).collect(Collectors.toList());
Run Code Online (Sandbox Code Playgroud)

对于以下代码,我收到了警告,正如我在标题中提到的那样.任何人都可以解释我如何转换这个.

在上面的代码中,我有一个对象列表,我希望使用lambda表达式提取所有主键.但我得到的违规行为如" 用方法引用替换此lambda."(sonar.java.source未设置假设8或更高.) "

pok*_*zok 6

那么它可能意味着你也可以像这样写它:

List<UUID> insrVrfyIds = insrVrfyObjsNew.stream().map(InsrVrfy::getCustomerInsrVrfyId).collect(Collectors.toList());
Run Code Online (Sandbox Code Playgroud)

我假设你的实例insrVrfy属于InsrVrfy类,所以如果我弄错了,请纠正我.

在这里,您可以阅读更多关于方法参考


raj*_*aji 1

List<UUID> insrVrfyIds =
                    insrVrfyObjsNew.stream().map(CustomerInsrVrfy::getCustomerInsrVrfyId).collect(Collectors.toList());
Run Code Online (Sandbox Code Playgroud)

这适用于上面的..这是我的坏处,它通过用它的类名(CustomerInsrVrfy)替换变量(insrVrfy)来工作。