Parameter specified as non-null is null: method kotlin.jvm.internal.Intrinsics.checkNotNullParameter

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的,是可为空的

猜你喜欢

转载自blog.csdn.net/weixin_40934065/article/details/125322552
今日推荐