小编bra*_*ain的帖子

如何覆盖java方法,并更改参数的可为空性?

我正在重写Java库中的方法,并将该函数的参数注释为@NonNull.但是,调用该方法时,参数通常会带有一个null值.当我在Kotlin中覆盖该方法时,它会强制我尊重@NonNull注释并将参数标记为不可为空.当然,当参数带有空值时,Kotlin会在运行时抛出异常.有什么方法可以覆盖Kotlin中的方法并忽略@NonNull注释?

具体来说,我正在使用适用于Android的appcompat库.该方法位于AppCompatActivity.java中

@CallSuper
public void onSupportActionModeFinished(@NonNull ActionMode mode) {
}
Run Code Online (Sandbox Code Playgroud)

Kotlin中的覆盖:

override fun onSupportActionModeFinished(mode: ActionMode) {
    super.onSupportActionModeFinished(mode)
}
Run Code Online (Sandbox Code Playgroud)

java android nullable kotlin

7
推荐指数
1
解决办法
1639
查看次数

标签 统计

android ×1

java ×1

kotlin ×1

nullable ×1