Java kitaplığından bir yöntemi geçersiz kıldım ve işlev için parametre @NonNull
olarak ek açıklamalı. Ancak, yöntem çağrıldığında, parametre sık sık bir null
değeri ile birlikte gelir. Kotlin'deki yöntemi geçersiz kıldığımda, @NonNull
ek açıklamasına uymaya zorlar ve parametreyi null olarak işaretlemez. Elbette, Kotlin parametresi boş bir değerle birlikte geldiğinde çalışma zamanında bir istisna atar. Yöntemi Kotlin'de geçersiz kılmanın ve @NonNull
ek açıklamasını yok saymanın bir yolu var mı?Bir java yöntemini nasıl geçersiz kılabilir ve bir parametrenin null yapısını nasıl değiştirebilirim?
Özellikle, Android için uygulama kitaplığı kullanıyorum. yöntem KOTLIN içinde AppCompatActivity.java
@CallSuper
public void onSupportActionModeFinished(@NonNull ActionMode mode) {
}
geçersiz kılma içinde:
override fun onSupportActionModeFinished(mode: ActionMode) {
super.onSupportActionModeFinished(mode)
}
bunu, ona da CallSuper açıklama ile birlikte geliyor çünkü nonnull kalıptır izleyin hayati önem taşıyor sebep. Boş bir değer aktardıysanız, açıklama, değerin null olmadığından emin olmak için süper yöntemde hiçbir kontrol yapılmaz. Neredeyse kesinlikle bir NPE ile sonuçlanacaksınız. Bu yöntemi açıkça çerçevenin dışında çağırmıyorsanız, çerçeve bu açıklamaya saygı göstereceğinden asla boş değer içermemelidir. – zgc7009
Kitaplık bu yöntemi çağırıyor ve kodumu değil, boş bir değer iletiyor. Kütüphane kendi notunu kırıyor. Java'da geçersiz kıldığımda ve boş değerin süper yönteme geçmesine izin verdiğimde, hiçbir NPE oluşmaz. – brain
Dünyada ne, sadece bu tuhaf. – zgc7009