Я использую написанную библиотеку и java с аннотациями @Nonnull
и @Nullable
для всех возвращаемых значений и параметров. К сожалению, в некоторых местах аннотации неверны. Существует интерфейс с этим методом:
interface Expiry<K, V> {
long expireAfterCreate(@NonNull K key, @NonNull V value, long currentTime);
}
К сожалению, в моем случае @NonNull V value
может фактически иметь значение null (поскольку это общий тип c). Как я могу заставить компилятор Kotlin игнорировать аннотацию java и позволить мне переопределить метод с правильным типом:
object Foo : Expiry<String, Bar?> {
override fun expireAfterCreate(key: String, value: Bar?, currentTime: Long): Long {
TODO()
}
}