gpt4 book ai didi

线程 '"AWT-EventQueue- 0"' java.lang.NullPointerException 中出现 Java 异常

转载 作者:行者123 更新时间:2023-11-30 04:23:48 25 4
gpt4 key购买 nike

我有一个名为 Info 的类,它的方法 load 包含这段代码:

Circuito[] circuito=new Circuito[19];
for(int i=0;i<circuito.length;i++)
circuito[i] = new Circuito(nome,immPath,sfondoPath,previsioni,giri,tempoGiro,carico);

我正确传递了所有参数(我打印了 toString() 方法来检查它是否有效)。然后,在另一个名为 New 的类中,我有以下代码:

Info info=new Info();
info.load();
System.out.println(info.getCircuito()[0].toString());

(Info 类包含用于返回整个数组的方法 getCircuito)。

然后,我收到此错误:

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at New.<init>(New.java:21)

第 21 行是 System.out.print 行。

我不明白问题出在哪里...谢谢您的帮助!

最佳答案

NPE 仅有的 3 种可能性

System.out.println(info.getCircuito()[0].toString());

是:

  • 信息为。不可能,因为您之前已成功调用 info.load()
  • getCircuito() 返回 null
  • getCircuito()[0]null

就是这样。因此,在您的情况下,显示的 load() 代码可能是 getCircuito() 返回 null

编辑:找到原因了。您正在调用

Circuito[] circuito=new Circuito[19];

在您的load()方法中。因此,您不是将新数组分配给类变量,而是分配给本地作用域中的新变量,该变量在 load() 方法之后再次消失。将上述行更改为

circuito=new Circuito[19];

你应该没问题。

关于线程 '"AWT-EventQueue- 0"' java.lang.NullPointerException 中出现 Java 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16377411/

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