乐趣区

关于java:空指针异常原因分析

定义

首先介绍一下空指针异样的定义:
空指针异样(NullPointerException): 空指针异样是指 java 中的异样类, 当应用程序试图在须要对象的中央应用 null 时,就会抛出该异样.

简而言之, 就是当你要应用一个对象时, 后果对象并无内容只有 null 值, 那就会抛出空指针异样.(下文简称 NPE)

可能起因

那么当程序中呈现了空指针异样, 咱们该如何去找到并排除异样呢?

呈现 NPE 时, 咱们首先须要依据抛出的异样信息, 去找到出现异常的行号!
之后咱们须要去查看三个方面:

1. 查看呈现 NPE 的行是否有对象调用了办法

2. 如果有对象调用办法的话, 查看调用办法的对象是什么时候进行赋值的, 当初是否还有值

3. 如果该对象是由 spring 容器进行依赖注入 (DI) 进行复制的, 那要查看该对象的援用是否应用了 spring 框架的特定注解 (@Autowired 等) 来形容, 对象援用的属性所在的类是否交给了 spring 框架治理(@springboottest 等注解)

通过这三点间断的查看, 应该能够锁定大部分空指针异样呈现的起因, 找到起因后, 批改就很简略了, 依据所需要求批改程序即可

退出移动版