java - Sonar : Replace this lambda with a method reference.

标签 java lambda java-8 sonarqube method-reference

当我在 Sonar 中检查时,结果是:

Replace this lambda with a method reference. 

它实际上指的是这个:

.filter(s -> aIDetailsDto.getResult().getIdNo().equals(s))

我的代码如下:

AIDetailsDto aIDetailsDto = aaaService
        .getDetailsByUserId(userId)
    if (!ObjectUtils.isEmpty(aIDetailsDto)) {
      List<String> kvpValues = callService.getKVPCodes(NewConstants.REMOVED)
          .stream()
          .filter(s -> aIDetailsDto.getResult().getIdNo().equals(s))

我尝试更改它,但出现错误。 有谁知道如何更改它吗?

最佳答案

您应该使用.filter(aIDetailsDto.getResult().getIdNo()::equals)

关于java - Sonar : Replace this lambda with a method reference.,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51398282/

相关文章:

java - 在 JPanel 中动态添加组件

java - 有没有办法将我的 Java 函数传递给 try-catch 函数?

java - 通过从具有不同对象的重复元素的列表中删除对象来创建新的不同列表

java - Maven surefire permgen 空间不足

java - 如何在直接 .class 文件或保存在多个子目录中的各种 jar 文件内的 .class 文件中查找特定字符串文本

java - 在java中,在lambda函数内部使用时,三元运算符是否被视为单行表达式?

c# - Lambda .Where 限制为字符串

java - 使用 Stream API 嵌套 foreach

java - 将电话号码存储为字符串时如何防止输入错误?

c++ - 为什么 clang++ 不能推断出 lambda 映射的类型?