如何在 java 中调用此构造函数?
How do I call this constuctor in java?
我在 java 中导入了一个库 (.aar) 文件。 class 是具有构造函数的 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) {....}
现在我不知道如何在 java 源代码中调用这个构造函数,当我需要创建一个 Class 'LSPatch' 的对象时。
就像我想创建
LSPatch lspatch=new LSPatch(...);
当我尝试这样做时,它显示:
我无法将它与 java 联系起来。谁能帮帮我。请告诉我这些参数是什么以及如何实际调用构造函数。
您可以通过将执行 SAM 转换的 java lambda 传递给 kotlin 的 Function
接口来创建实例。
LSPatch lspatch = new LSPatch(
new JsonObject(), // options
jsonObject -> { // onDiscovery
// lambda body, your callback
return Unit.INSTANCE;
},
jsonObject -> { // onData
// lambda body, your callback
return Unit.INSTANCE;
},
jsonObject -> { // onStatus
// lambda body, your callback
return Unit.INSTANCE;
}
);
您可以在 Java 中将 lambda 用于第二个、第三个和第四个参数:
LSPatch lspatch = new LSPatch(
new JSONObject(),
jsonObject -> {
// do your stuff
return null;
},
jsonObject -> {
// do your stuff
return null;
},
jsonObject -> {
// do your stuff
return null;
}
);
我在 java 中导入了一个库 (.aar) 文件。 class 是具有构造函数的 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) {....}
现在我不知道如何在 java 源代码中调用这个构造函数,当我需要创建一个 Class 'LSPatch' 的对象时。 就像我想创建
LSPatch lspatch=new LSPatch(...);
当我尝试这样做时,它显示:
您可以通过将执行 SAM 转换的 java lambda 传递给 kotlin 的 Function
接口来创建实例。
LSPatch lspatch = new LSPatch(
new JsonObject(), // options
jsonObject -> { // onDiscovery
// lambda body, your callback
return Unit.INSTANCE;
},
jsonObject -> { // onData
// lambda body, your callback
return Unit.INSTANCE;
},
jsonObject -> { // onStatus
// lambda body, your callback
return Unit.INSTANCE;
}
);
您可以在 Java 中将 lambda 用于第二个、第三个和第四个参数:
LSPatch lspatch = new LSPatch(
new JSONObject(),
jsonObject -> {
// do your stuff
return null;
},
jsonObject -> {
// do your stuff
return null;
},
jsonObject -> {
// do your stuff
return null;
}
);