SonarLint:让这个匿名的内部类成为lambda(非功能性接口)

时间:2018-03-26 23:43:41

标签: java lambda java-8 sonarlint functional-interface

我正在运行SonarLint 3.4和Oracle JDK 8. SonarLint给了我这个错误:

  

只包含一个方法的匿名内部类应该成为lambdas(squid:S1604)

我无法控制的界面设置如下:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form action="submit.php" method="post" id="buttonSettings">
  <input type="text" name="button_background_color" placeholder="Background Color">
</form>

<a href="#" class="button-style-one">Button</a>

这是生成错误的代码:

public interface Interface {
   static String staticMethodOne() {
      return "abc";
   }

   default String methodOne(String input) {
      return "one: " + input;
   }

   default String methodTwo(String input) {
      return "two: " + input;
   }
}

因为&#34;界面&#34;不是一个功能界面我没有看到用lambda替换它的方法。这是SonarLint中的错误还是我错过了什么?

1 个答案:

答案 0 :(得分:0)

确认为SonarJava中的错误;等待下一次SonarLint更新的时间。

https://jira.sonarsource.com/browse/SONARJAVA-2654