问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

Android开发 - 处理 null 和 预防空指针异常(NullPointerException) 的一些经验

发布网友 发布时间:2022-12-02 06:14

我来回答

1个回答

热心网友 时间:2023-11-08 23:43

在实际编码中总是会遇到 空指针异常 ,本文总结了一些处理空指针的个人经验。

尽早的检查,尽早的失败。

比如: 通过intent传参到新的目标 activity,而且一定需要这个参数,那么在新的目标activity中 onCreate方法中 判断中这个参数,如果null,直接抛出空指针异常让程序崩溃。取代在使用该参数时进行检查,这样能更早的发现问题。或者在 一个普通的方法中,一个 参数必须不能为null ,那么我们在这个方法的第一行就做出判断,如果参数为null,抛出空指针异常。

1.不要在Set中使用null
2.不要把null作为map的键值。
3.尽可能的尽早检查,如果为 null 不执行或者 结束本方法
4.遇到必须的参数,比如通过intent传参到新的目标 activity,而且一定需要这个参数,那么在新的目标activity中判断是否有参数

5.判断字符串是否空

6.对字符串比较时,如果和常量进行比较,把常量放在前面,比如:

7.将某个对象 toString时,比如:

8.使用注解 @NonNull 和 @Nullable 配合AndroidStudio 帮你检查你是否没有检查可能为null的对象,或者你是否做了多余的检查。

9.我们引用Guava来帮忙检查 null 的情况,我们使用 checkNotNull 方法来替代写 if( obj == null) throw new NullPointExcetion(); ,示例:

Guava是什么:

http://ifeve.com/google-guava/
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
表格列求和公式怎么设置 求和函数公式怎么输入 北京注册成立一个公司需要多少钱 北京公司都是什么 手机导航地图语音怎么下载 如何分别真金和仿金首饰 怎样区分真金和仿金首饰呢 小学生新年晚会主持人的串词!!(不要太多)急 大大后天就需要了!!!_百度... 周年晚会策划公司 奥格瑞玛传送门大厅在哪 奥格瑞玛传送门大厅怎么走 一个Java中关于抛出异常的问题 秋分和立秋有是区别?秋分和立秋哪一个先到? 烤土豆串的家常做法大全怎么做好吃视频 如何应对新媒体中的危机? 蜜汁小棒腿怎么做 OPPOReno5如何提升续航 修身养生的名人名言 宝宝趴睡时间长好不好 dnf攻击强化怎么算 DNF怎么提高自己的力量物理攻击和独立攻击 梦见烧香拜佛是什么意思 为什么会梦见烧香拜佛 lol中的rank和战斗力有什么关系和区别?打排位赛和打匹配模式有什么区别? 懒人快手葱花饼,下锅前牢记这一点,3分钟做好一张,柔软劲道 何尝不是算不算四字词语? 车道内违章行驶怎么处罚? 显示器黑屏,主机箱正常运行 显示器黑屏但是主机运行 电脑黑屏主机运行怎么弄啊 棉袄可以用洗衣机洗吗?正确方法告诉你 鲫鱼抄歌词 这个java程序怎么出现错误怎么解决? 跪求《行政管理》答案啊!都是多选题!求答案求答案啊 房屋他项权证应该由谁保管 关于他项权证抵押后谁保管? 房产作为抵押物他项权证谁持有 房产他项权证是什么用的? 幼儿园区域牌需不需要图文并茂 excel调整以万为单位 进入夏季后,气温逐渐升高,想要在高温的夏季钓鱼,要注意哪8点? 夏天野钓鲫鱼想要有更好的收获,要注意哪些细节? 产品包装设计促销属于什么创新方法 北方冬季还能钓鲫鱼吗,北方冬季传统钓鲫鱼的技巧有哪些 新娘婚纱简笔画教程 社保卡制卡中出现错误什么意思? 处理用户反馈的五个步骤 打好乒乓球实战技巧 10大乒乓球实战技巧 哪首歌中有"梦象轻气球"这句词? 梦是氢气球 向天外飞走 最后 都化作乌有 这句感想很深 高考作文中巧用民间熟语增添语言活力 高考成语熟语