SONAR:用方法引用

时间:2016-05-26 17:19:30

标签: lambda java-8 sonarqube

我收到关于声纳的警告:

将此lambda替换为方法引用

代码是:

protected List<Test> getTests(List<String> testIds) {
    List<Test> tests = new ArrayList<>();
    if (!CollectionUtils.isEmpty(testIds)) {
        testIds.stream().forEach(eachTestId -> tests.add(getTest(eachTestId)));
    }
    return tests;
}

我如何克服这个警告?

1 个答案:

答案 0 :(得分:1)

您可以将getTest标记为static,并使用以下参考编写您的方法:

protected List<Test> getTests(List<String> testIds) {

    if (CollectionUtils.isEmpty(testIds)) {
          return new ArrayList<Test>();
    }

    return testIds.stream()
          .map(Test::getTest)
          .collect(Collectors.toCollection(ArrayList<Test>::new));
}