如何使用void返回类型方法创建一个匿名类,并且没有参数进入lambda表达式?

时间:2017-06-06 06:41:36

标签: java lambda try-catch runnable

我有以下代码,我需要将其更改为lambda表达式(Sonarlint将此视为一个问题)

      Runnable runnableObj = new Runnable() {
        @Override
        public void run() {
          try {
            myObj.setParameters(Id);
          } catch (Exception e) {
            LOG.info("Exception in setting parameters for user" + Id);
          }
        }
      }

我试图将其改为

       Runnable runnableObj = ()->{
          try {
            myObj.setParameters(Id);
          } catch (Exception e) {
            LOG.info("Exception in setting parameters for user" + Id);
          }

      }

我不确定这是否是正确的方法。 请帮忙,因为我之前没有实现过lambda表达式。

1 个答案:

答案 0 :(得分:2)

这是正确的实施。 lambda表达式不带参数,因为run()方法没有参数,它包含相同的实现。