Sonar错误 Invoke method(s) only conditionally

sonarLint总是报错: Invoke method(s) only conditionally

代码如下:

if(us != null){
  logger.info("Log this: {}", us.toString());
}


如何解决?

答案是,直接改成

logger.info("Log this: {}", us);

因为
1、对us.toString() 的调用是多余的,无论配置的日志级别如何,都将调用toString() 方法。
2、不应该带 if 判断

stackoverflow的原文链接:https://stackoverflow.com/questions/44324597/sonarqube-invoke-methods-only-conditionally

原文地址:https://www.cnblogs.com/acm-bingzi/p/sonar_invoke.html