Kotlin生成通用的Java代码

我有一个kotlin接口,看起来像这样

interface BaseDao<in M : Model> { ... @Delete fun delete(models: Collection<M>) ... } 

现在当我看到生成的代码,我看到这样的东西:

 public interface BaseDao { ... @Delete void delete(@NotNull Collection var1); ... } 

有没有办法告诉科特林,我想明确设置集合的类型?

“生成的代码”实际上是编译为Java的字节码。 由于泛型类型由于类型擦除而丢失,您将看到普通的Collection

在使用来自Java的代码时,该函数仍会强制执行正确的类型。