JAVA中空指针异常报错的几种可能坑你的情况

本文介绍了两种可能导致JAVA空指针异常的情况:一是局部变量覆盖了类属性,使得原本初始化的数组在其他地方无法正确访问;二是数组虽然初始化,但在使用前未开辟实际空间。通过案例分析,帮助读者理解并避免这类错误。
摘要由CSDN通过智能技术生成

JAVA中空指针异常报错的几种可能坑你的情况

一、局部变量覆盖掉其他变量导致无法使用。

在做Java客户管理的项目的时候,eclipse报出了个空指针异常的错误,但反复检查也并没感觉出错误,调用的数组给它初始化而且赋值了,但是编译器很顽强的报了一个空指针异常的错误,经过反复排查发现,自己是在那个方法的构造函数对其进行初始化的时候写了这么一句:

customers[ ] customers = new Customer[totalCustomer];

这句话相当于创建了一个customers对象customers,而这个对象customers与该方法的属性customers同名,属于一种独立的关系,而在本方法的其他地方调用customers的时候发现开发者并没有对该类的属性customers赋值,仍然属于一种null的状态。所以在本类的其他地方调用customers数组的时候就会报出空指针异常的错误。

总结:

在网上查阅其他资料的时候发现空指针异常的很多报错原因是因为String类的使用有误,但是我在我的当时的代码中并没有使用String类,报错的地方我当时以为以及给他赋值了,所以就尤其奇怪为什么会报出空指针异常的错误。排查发现自己在写代码的时候直接笔误,相当于创建了个局部变量,而局部变量不会在方法结束的时候留下任何东西,这就造成了程序其他地方调用该数组的时候有了空指针异常的错误。

二、数组初始化却未开辟空间

首先声明了Employee[] empsInit = new Employee[11];

在后续使用时直接想用empsInit[0]来对其用set方法进行赋值

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值