Java 如何修复Kotlin编译器错误推断类型为()->;单位但消费者<;可丢弃?>;?预料之中

Java 如何修复Kotlin编译器错误推断类型为()->;单位但消费者<;可丢弃?>;?预料之中,java,kotlin,Java,Kotlin,我有以下Java方法 public Disposable getSuperWifiStatus(SuperWifiProvider provider, Consumer<CPE_SuperWifiStatus> onNext, Consumer<Throwable> onError) { return null; } 这是编译和工作 如果我将java方法转换为Kotlin函数: fun getSuperWifiStatus(provider: Sup

我有以下Java方法

 public Disposable getSuperWifiStatus(SuperWifiProvider provider, Consumer<CPE_SuperWifiStatus>   onNext, Consumer<Throwable> onError) {
    return null;
 }
这是编译和工作

如果我将java方法转换为Kotlin函数:

  fun getSuperWifiStatus(provider: SuperWifiProvider?, onNext: Consumer<CPE_SuperWifiStatus?>?,   onError: Consumer<Throwable?>?): Disposable? {
    return null
  }
fun getSuperWifiStatus(提供者:SuperWifiProvider?,onNext:Consumer?,onError:Consumer?):一次性?{
返回空
}
我发现以下编译器错误:

 1. unresolved reference it 
 2. type mismatch inferred type is () -> Unit
    but Consumer<Throwable?>? was expected
1。未解决的引用它
2.类型不匹配推断类型为()->Unit
但是消费者呢?预料之中

我不知道如何解决它们

您可以通过执行以下操作明确指定lambda的类型:

Consumer<Throwable?> { emitter.onError(it) }
Consumer{emitter.onError(it)}

2您应该能够通过执行类似于
Consumer{emitter.onError(it)}
great的操作来指定lambda的类型。请写下这个作为答案,这个建议也解决了1。谢谢你
Consumer<Throwable?> { emitter.onError(it) }