IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> 面试官:Java 和 Kotlin 混用会出现什么问题 -> 正文阅读

[移动开发]面试官:Java 和 Kotlin 混用会出现什么问题

前言

这其实是上年面试时遇到的问题,后续去搜索,都没找到合适的答案,直至在工作中真的写到这 bug 后,才知道,Java 和 Kotlin 的混用,还是真的有坑的,真是血与泪的教训!

原由

我们都知道,在纯 Java 开发中,很容易出现 NullPointerException,而 Kotlin 的空安全就能很大一个程度避免该问题,也就是在声明类型的时候,就决定好该类型是否能够容纳 null,以此,我们来写个 kotlin 方法:

KotlinUtils.kt

fun printMsg(msg : String){
    println("msg: $msg")
}

然后使用 Java 代码去调用它:

KotlinUtilsKt.printMsg("不近视的猫");

输出结果:

I/System.out: msg: 不近视的猫

em… 很好,没什么问题

但,假如我们使用 Java 传个 null 进去试试?

KotlinUtilsKt.printMsg(null);

运行:

Caused by: java.lang.NullPointerException: Parameter specified as non-null is null: method kotlin.jvm.internal.Intrinsics.checkNotNullParameter, parameter msg
        at com.bjsdm.testproject.KotlinUtilsKt.printMsg(Unknown Source:2)
        at com.bjsdm.testproject.JavaUtils.test(JavaUtils.java:5)

崩溃了。

但是,大家会觉得,这好像没什么,到时我记得传非 null 就好了。可惜事实没这么简单,因为我们很多都是通过 Gson 去直接解析服务器数据的,所以在直接使用这些字段的时候,很容易就忘了判空,因为在测试阶段很难发现这种情况,所以,往往出错的时候,都是在线上。

所以,若是提供给外部使用的方法,尽量参数设置为可空,后续做好判空。


这是我的公众号,关注获取第一信息!!欢迎关注支持下,谢谢!

  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2022-01-29 23:11:58  更:2022-01-29 23:13:47 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 12:33:52-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码