搬运工们避免写空指针BUG记录
本文最后更新于 2177 天前,其中的信息可能已经有所发展或是发生改变。

自从前几个星期升级了wp,升级之后的编辑器一点儿也不习惯,导致又不想写记录了哎…这不是借口!!!


好了,入正题。

首先作为会复制粘贴的搬运工,对写空指针一点也不陌生吧。空指针是我们这些搬运工经常遇到的一个基本异常吧?不服?那我真的没办法。

什么?我自己也不知道空指针是什么?

emmm,我这么解释好了:

当我们定义了一个变量的值为 null 时,在 Java 里面表示一个不存在的空对象,没有实际内容,没有给它分配内存,所以,null 也就是对象成员变量中的默认值。

比如下面的一个例子会不会出现空指针呢?

Object obj = null;
String str = obj.toString();

结果是会出现’java.lang.NullPointerException’空指针异常,并且它是属于运行时异常RuntimeException的子类,它不是捕获型的异常,当我们运行程序时才可能报出来,而且会把程序运行给中断。

说了那么多,接下来需要如何避免,或者说我们这些复制粘贴的搬运工日常如何写出空指针的BUG?

1.最基础的字符串比较,常量或固定值放前面。

if(demo.equals(“demoStr”))//出现空指针异常

if(“demoStr”.equals(demo))//这种情形,不出现空指针异常

2.使用JDK8的Optional

Optional类已经成为Java 8类库的一部分,Optional实际上是个容器:它可以保存类型T的值,或者仅仅保存null。Optional提供很多有用的方法,这样我们就不用显式进行空值检测,所以再也不用 != null 来判断了!!有空的话,下次自己码出来怎么用吧。

3.初始化默认值,先给一个无用的默认值。

4.当是返回一个集合的话,默认会是 null,统一规范返回一个空集合。

如:

public List getAllUserDataList(){
  List list = UserService.getAllUserDataList();
  return list == null ? new ArrayList() : list;
}

好了,不写了,wp升级之后的编辑器是鸡儿不习惯….先记录四种方式吧..

评论

  1. Windows Chrome 71.0.3578.98
    6 年前
    2019-2-13 8:56:19

    自己开发一个博客啊,java走起啊。

  2. Windows Firefox 65.0
    6 年前
    2019-2-13 13:45:34

    写半年C程序,空指针毛病保证扳过来。

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇