gpt4 book ai didi

java - 我不断使用公共(public)数组获取 NullPointerException

转载 作者:行者123 更新时间:2023-11-29 10:18:52 24 4
gpt4 key购买 nike

我有两个类:MainSub1

anArraySub1 中声明如下:

  public static int[] anArray;
public Sub1 () {
anArray = new int[15];

然后在 Sub1 中,我尝试设置它:

  public static void methodOne() {
anArray[0] = 5;

但是当我尝试运行代码时,我得到了一个 NullPointerException,消息指定:

Sub1.methodOne (Sub1.java:249)

引用这段代码:

  anArray[0] = 5;

为什么它不让我改变数组?如果我将其注释掉,错误仍然存​​在并且只是移动到另一行我试图更改数组索引的值。

最佳答案

anArray 是一个 static 字段,尝试在该类的构造函数中初始化它是没有意义的。如果您希望它是static,只需在声明时对其进行初始化:

public static int[] anArray = new int[15];

如果您想让 anArraymethodOne 成为实例成员,请移除它们的 static 修饰符。

无论哪种方式,我都建议您将变量设为 anArray private,这样只有公开公开的方法才能修改其内容和 final,这样您不要不小心重新分配它。

关于java - 我不断使用公共(public)数组获取 NullPointerException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10669443/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com