首页 > 解决方案 > 我如何在java中调用这个构造函数?

问题描述

我有一个在 java 中导入的库 (.aar) 文件。该类是具有构造函数的 LSPatch。

public final class LSPatch public constructor(options: org.json.JSONObject, onDiscovery: (org.json.JSONObject) -> kotlin.Unit, onData: (org.json.JSONObject) -> kotlin.Unit, onStatus: (org.json.JSONObject) -> kotlin.Unit) {....}

现在我不知道当我需要创建类'LSPatch'的对象时如何在java源代码中调用这个构造函数。就像我想创造

LSPatch lspatch=new LSPatch(...);

当我尝试这样做时,它显示: 在此处输入图像描述 我无法将它与 java 联系起来。任何人都可以帮助我。让我知道这些参数是什么以及如何实际调用构造函数。

标签: javakotlinconstructorcallbackfunctional-interface

解决方案


您可以在 Java 中将 lambdas 用于第二个、第三个和第四个参数:

LSPatch lspatch = new LSPatch(
            new JSONObject(),
            jsonObject -> {
                // do your stuff
                return null;
            },
            jsonObject -> {
                // do your stuff
                return null;
            },
            jsonObject -> {
                // do your stuff
                return null;
            }
);

推荐阅读