在 Kotlin 中重写 Java @Nullable varargs 方法,IDE 抱怨它没有重写任何内容

Set*_*eth 3 java kotlin

我有一个 Java 方法接口,如下所示:

@NonNull Future<List<Item>> search(@NonNull String query, @Nullable EntityType... types);

当我像这样在 Kotlin 中实现它时(通过 IntelliJ 实现生成):

override fun search(query: String, vararg roomType: EntityType?): Future<List<Item>>

IDE 抱怨它“没有覆盖任何内容”。但是,如果 Java 类中不存在 @Nullable 注释,则不会出现 lint 错误。

Set*_*eth 5

该注释将可变参数数组标记可为空,而不是数组中的值。这似乎有效:

override fun search(query: String, roomType: Array<EntityType>?): Future<List<Item>>