浅析空指针

空指针(Java.lang.NullPointerException)

1、他是啥(what):

  在编程语言中,空指针(英语:Null Pointer)是一个已宣告但并未指向一个有效对象的指针,许多程序利用空指针来表示某些特定条件,例如未知长度数组的结尾或某些无法运行的操作。在可选择类型(optional type)的编程语言中,空指针通常可以跟可为Null的类型(Nullable types)和空值(Nothing value)进行比较。

空指针与未初始化的指针(uninitialized pointer)不同,空指针保证不会和有值的指针相等,而未初始化的指针则是要看所使用的编程语言或编译器而定,在部分编程语言环境下,未初始化的指针无法保证不与有值的指针相等,他可能因为存有存储器残值而指向了某个有效对象。

  空指针错误是一种常见的程序错误,当尝试访问空指针所指向之对象时,就会发生NullPointerException,通常是因为对象未顺利初始化或者提前析构而造成。空指针错误常常出现在类别设计或管理上有缺陷的程序中,一旦出现了空指针错误经常会导致程序死机或崩溃。而在部分编程语言中,则有NullReferenceException(空引用错误),例如.Net平台。

  在Java中,NullPointerException被定义在java.lang.NullPointerException,是一种运行阶段错误(java.lang.RuntimeException)。

2、首先空指针的对象是对象(没毛病),不是基本数据类型,因为基本数据类型没有比赋值,编译器不会编译通过

  a)举个例子

结果

3、Null值不是报空指针的原因

结果

4、去null值里面的东西(属性)才是报空指针的原因

结果

5、解决之道:创建对象的时候要判断对象是否是null值,不是null值才可以进行取值操作如果是null值就打印按返回相应页面,而不得返回空指针,要让程序优雅,对用户体验负责。

6、另外使用equal方法判断要注意把对象取值的参数放在后面可以避免空指针异常

结果

放在后面后

结果输出false,没有在报空指针

转载于:https://www.cnblogs.com/chenzhuantou/p/10194258.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值