如何将Lambda转换为简单的Java函数表达式

时间:2016-11-27 07:10:27

标签: android lambda

我不想在我的模块中使用java VERSION_1_8。 但是在使用此代码的库中的代码片段中:

    RxPaparazzo.takeImage(this)
            .crop(options)
            .size(size)
            .usingGallery()
            .subscribe(response -> {
                if (response.resultCode() != Activity.RESULT_OK) {
                    response.targetUI().showUserCanceled();
                    return;
                }

                // Log.e("response",response.data());

                response.targetUI().loadImage(response.data());
            });

现在如何将其更改为简单的java函数表达式?

2 个答案:

答案 0 :(得分:27)

您可以使用Android Studio中的以下技巧将其更改为匿名类

  1. 点击“ - >”或将光标放在“ - >”
  2. 在Mac上按 Alt + 输入(或选项 + 返回
  3. 选择用匿名类替换lambda。
  4. 截图解释:

    Steps

答案 1 :(得分:1)

它应该是以下几行。

streamingContext.awaitTermination()

你需要知道listenerType(_ON_CALLBACK_LISTENER) 以及parameterType(_FIELD_TYPE)

将鼠标悬停在代码上,并且应该有一些提示,Alt-Enter可以为您自动生成代码存根。