声纳违规

时间:2017-05-14 06:47:06

标签: java sonarqube sonarlint

public Integer getMaxCount(String id,String type) {
    String maxCount ="SELECT MAX(ID) AS COUNT FROM STUDENT";
    try {
        return queryForObject(
            maxCount, 
            new Object[]{id,type}, 
            (rs, i) -> {return rs.getInt(COUNT);},
            "maxCount"
        );
    } catch (EmptyResultDataAccessException ex) {
        LOG.error(ex);
        return 9999;
    }
}

在上面的代码块下面了解声纳违规行为如何修复。

  

Lambdas应该替换为方法引用

     

仅包含一个语句的Lambda不应将此语句嵌套在块

2 个答案:

答案 0 :(得分:3)

那些是:

这两个页​​面都包含有关如何修复代码的示例。

x -> System.out.println(x+1)
(a, b) -> a+b    //For return statement, the return keyword should also be dropped

答案 1 :(得分:0)

你真的不需要在这里阻止。您可以使用以下命令返回值:

(rs, i) -> rs.getInt(COUNT)