![](/img/trans.png)
[英]What to do with fields that can only be assigned non-null values after the object is created (Java)
[英]Can Java object arrays initialize elements as non-null values?
我是Java的新手,我很难搞清楚如何修复这个一直困扰我的空指针异常。
我知道问题发生在哪里,我知道什么是空指针异常,但我不知道我将如何使我的程序工作。
这是发生问题的代码片段:
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
Account[] atm = new Account[10];
for (int i = 0; i < 10; i++){
atm[i].setId(i);
atm[i].setBalance(100.00);
}
就像我说的,我知道它发生是因为atm []中的对象是null,但我不确定如何解决问题。
我确定这是一个愚蠢的错误,因为这些是我经常犯的那种错误,但是你们给予的任何帮助都会让我的一天成为现实。
谢谢!
你的整个数组都是null! 记住,数组永远不会在java中自动初始化,除非它们是int,float,double或booleans的数组。
Scanner input = new Scanner//System.in.Scanner;
Account[] atm = new Account[10];
for (int i = 0; i < 10; i++){
**atm[i] = new Account();**
atm[i].setId(i);
atm[i].setBalance(100.00);
}
当您声明包含对象的数组时,请将其读作“我正在创建一个将保存'x'对象的数组。” (正确),然后继续实例化这些对象
......而不是......
“我正在创建一个包含'x'对象的数组。” (不正确)因为那里还没有任何对象,因为它们尚未创建。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.