java - 从对象初始化数组会产生 NullPointerException
问题描述
我想从对象的数组中设置一些数据,这里是 A 类,它会导致 NullPointerException。为什么?如何解决这个问题?我的初始化有什么问题?
class A {
int a;
public void setA(int a) {
this.a = a;
}
public class ObjArry {
public static void main(String[] args) {
A[] ObjectArray = new A[5];
ObjectArray[0].setA(10); //Exception occurs in this line
ObjectArray[1].setA(9);
ObjectArray[2].setA(8);
ObjectArray[3].setA(7);
ObjectArray[4].setA(6);
}
解决方案
所有其他行也会发生异常。默认情况下,新初始化的数组new A[5]
是空的,即它的所有字段都是null
. 您首先必须执行以下操作:
ObjectArray[0] = new A();
ObjectArray[1] = new A();
ObjectArray[2] = new A();
ObjectArray[3] = new A();
ObjectArray[4] = new A();
推荐阅读
- javascript - 一个 Express 控制器中的多个 SQL 事务
- javascript - 我如何使用 ManyToMany 关系更新某些实体
- java - 华为推送异常:com.huawei.hms.common.ApiException: 907122037: get token error
- reactjs - 如何将@types 中定义的泛型用于反应原生库
- rest - OroCommerce store rest api 总是为 401 UnAthorized 抛出错误
- sql - REPLACE 函数中的 SQL 使用变量
- javascript - 如何在客户端 JS 上获取 socket.io 的查询字符串?
- sql - 在sql中将日期列从文本数据类型转换为日期类型
- python - 如何通过一个贴纸找到属于该贴纸集的贴纸集?
- sql - 如何从查询 1 中获取不在 Oracle SQL Developer 查询 2 中的元素?