Kotlin Generics Java中的错误

M-W*_*eEh 10 java generics android kotlin kotlin-generics

鉴于以下三个kotlin类:

abstract class UseCase<T> {
    fun execute(action: Action<T>) {
    }
}

class ConcreteUseCase : UseCase<List<String>>()

class Action<T>
Run Code Online (Sandbox Code Playgroud)

我无法在java代码中编译以下行:

ConcreteUseCase s = new ConcreteUseCase();
s.execute(new Action<List<String>>());//<<<<<<< compilation error
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

错误说:

SomeClass的<java.util.List的<?扩展Type >> in Class不能应用于SomeClass <java.util.List <Type >>

我仍然是kotlin的新手,这可能是一个非常小的东西,但我似乎无法弄明白.我将不胜感激任何帮助.

hlu*_*kyi 11

更改您的ConcreteUseCase以下内容:

class ConcreteUseCase : UseCase<List<@JvmSuppressWildcards String>>()
Run Code Online (Sandbox Code Playgroud)

有关更多信息,请访问此链接