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


版权声明:本文为weixin_40934065原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。