Java自动转换Kotlin代码之后,编译出现的问题
原因在于有的函数的传参没有做允许空值处理,找到那个函数参数后加入?即可
eg.
override fun bind(data: Any?) {
doSth()
}
可以点Tools → Kotlin → show kotlin Bytecode 选择Decompile,看下这个文件对应的java文件,可以看到这个方法是:
public void bind(@Nullable Object data) {
if (data == null) {
throw new NullPointerException("null cannot be cast to non-null type com.bilibili.offline.OfflineInfo");
} else {
doSth();
}
}
可以看到有Nullable的,是可为空的