kotlin允许方法传null值时遇到的问题
来源:互联网 发布:青岛知豆租赁电话 编辑:程序博客网 时间:2024/05/21 19:45
kotlin allow method params specified as null
问题描述:
定义了一个允许设null值的Long型变量
private var categoryId: Long? = null
定义允许传null值参数categoryId的方法
interface OnConfirmClick { fun onClick(categoryId: Long?, tagIdList: MutableList<Long>?, crowdIdList: MutableList<Int>?)}
调用方法时传入定义的categoryId变量
skuConfirmTv.setOnClickListener { if (onConfirmClickListener != null) { onConfirmClickListener?.onClick(categoryId!!, tagIdList, crowdIdList) }}
按照习惯,一般使用了可能为null的变量categoryId应当在后面加!!,但是运行后竟然报错KotlinNullPointerException
报的错误如下:
Process: com.newcare.hes, PID: 19664kotlin.KotlinNullPointerException at com.newcare.hes.control.sku.SkuScreenView$init$2.onClick(SkuScreenView.kt:66) at android.view.View.performClick(View.java:6256) at android.view.View$PerformClick.run(View.java:24697) at android.os.Handler.handleCallback(Handler.java:789) at android.os.Handler.dispatchMessage(Handler.java:98) at android.os.Looper.loop(Looper.java:164) at android.app.ActivityThread.main(ActivityThread.java:6541) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767)
解决方法:
经过一番努力找到原因了,调用方法时应当去掉!!,具体原理是什么有待分析。。。
skuConfirmTv.setOnClickListener { if (onConfirmClickListener != null) { onConfirmClickListener?.onClick(categoryId, tagIdList, crowdIdList) }}
阅读全文
0 0
- kotlin允许方法传null值时遇到的问题
- java调用Kotlin方法的参数为null异常问题
- BeanUtils.copyProperties方法遇到null值问题
- BeanUtils.copyProperties方法遇到null值问题
- BeanUtils.copyProperties方法遇到null值问题
- Android Kotlin遇到的问题
- NULL 值处理遇到的错误问题.
- kotlin的一些学习和使用时遇到的问题
- AS2.3.3导入Kotlin项目时遇到的问题
- Android开发时遇到的一个Java基础问题--虚方法中成员变量为null
- 使用Kotlin开发Android遇到的问题
- 使用 kotlin 开发 android 遇到的问题
- Kotlin-null的处理
- Kotlin-Null 值安全性
- case when 遇到null值的处理方法
- 使用ado遇到数据库中的NULL时的处理方法。
- 【C#】允许泛型方法<T>返回空值Null
- 遇到在html中取值时,值为null的问题
- Ubuntu下查看CPU、内存和硬盘详细信息的几个命令
- MyBatis创建项目(1)
- 1015. 德才论 (25)
- Ubuntu 14.04下Django+MySQL安装部署全过程
- JS 字符替换处理replace/replaceAll
- kotlin允许方法传null值时遇到的问题
- 刷LeetCode(8)——String to Integer (atoi)
- iOS 11 Xcode 9 沙箱账号登录不上 反复弹出登录窗口(亲测 OK)
- redis主从复制搭建
- 数据分析的统计学基础--抽样估计
- Linux服务器中jdk的安装
- python 插入日期数据到Oracle
- (六)TabBarController的简单自定义
- 递归函数——爆内存函数实例