当前位置: 首页 > 知识库问答 >
问题:

可运行接口:用方法引用替换此lambda。(sonar.java.source未设置。假设8或更大。)

穆英飙
2023-03-14
private void runAsyncImport() {
      Runnable task = () -> runImport(); 
      new Thread(task).start();
}

我收到了上述代码的声纳问题,请用方法引用替换此lambda。(未设置sonar.java.source。假设为8或更大。)

怎么修

共有1个答案

巫马劲
2023-03-14

如果你的类有一个非静态的runimport()方法,那么你可以这样写:

Runnable task = this::runImport;

如果runImport()方法是静态的,则写入类的名称,而不是该方法,例如,如果类的名称是MyClass,则:

Runnable task = MyClass::runImport;
 类似资料:
  • 对于下面的代码,我得到了一个警告,正如我在标题中提到的。谁能告诉我怎么转换这个吗。 在上面的代码中,我有一个对象列表,我想使用lambda表达式从中提取所有主键。但我遇到了类似于“用方法引用替换此lambda。(sonar.java.source未设置。假设为8或更大)。”

  • 我有一个包含错误列表的集合。我想通过一个键(UUID UserId)对它们进行分组。为此,我从以下答案中复制了代码:https://stackoverflow.com/a/30202075/4045364 Sonar Lint告诉我以下错误: 用方法引用替换此lambda<代码>- 我所尝试的: 基于这些问题:SONAR:用方法引用替换此lambda,可运行接口:用方法引用替换此lambda。(未

  • 当我在sonar中检查时,结果是: 它实际上指的是: 我的代码如下所示: 我试图改变它,但我得到了一个错误。有人知道如何改变它吗?

  • 索纳尔曲贝的解释是: 方法/构造函数引用比使用lambdas更紧凑、更易读,因此是首选。

  • 我编写了代码,从包含日期变量的对象列表中查找最新日期。 <代码>列表。流()。地图(段- 但我发现声纳问题 将此lambda替换为方法引用“Objects::nonNull”。 我无法弄清楚的是,我可以在哪里使用声纳lint问题所述的方法参考。

  • 问题内容: 我很难理解如何设置已作为指针传递的接口值。我正在努力实现以下目标: 我要做什么才能使程序输出为 编辑:是否有可能使用所有解决方案? 问题答案: 您可以使用来模拟AppEngine数据存储接口。通常,我说的是最小化反射,但是您(以及AppEngine和其他ORM)在这里没有其他很好的选择来展示您想要的接口。对于模仿您的内容: 得到与 获得您想要创建的事物的类型 用它创建 (可选)使用,填