我有一个 Java 方法接口(interface),看起来像这样:
@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 错误。
最佳答案
注释将可变参数的数组 标记为可为空,而不是数组中的值。这似乎有效:
override fun search(query: String, roomType: Array<EntityType>?): Future<List<Item>>
关于java - 在 Kotlin 中覆盖 Java @Nullable varargs 方法,IDE 提示它没有覆盖任何内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45359578/