【问题标题】:error in create array object in java code在 java 代码中创建数组对象时出错
【发布时间】:2020-02-11 04:53:05
【问题描述】:
我有一个按名片分类的课程,它的代码如下
class card {
private String word, mean;
public card() {}
public card(String w, String m) {
this.word = w;
this.mean = m;
}
// Getter and setter ...
}
然后如果我在主函数中编写波纹管代码
card[] c=new card[3];
c[1].setword("Hello");
我收到了NullPointerException
我该如何解决?
【问题讨论】:
标签:
java
oop
nullpointerexception
arrayobject
【解决方案1】:
发生这种情况是因为您只是初始化了一个数组,但没有初始化数组的元素。如果您将数组的元素打印到 System.out,您将看到它们全部为空。您必须初始化数组的每个元素。
card[] c = new card[3];
c[1] = new card();
c[1].setword("Hello");
c[2] = new card();
...
【解决方案2】:
这一行:
card[] c=new card[3];
您刚刚创建了一个大小 = 3 的数组对象来存储 card,但没有创建任何 card 对象。
所以要修复它,你必须创建 card 对象并存储在你的数组中。
card[] cards = new card[3];
for (int i = 0; i < 3; i++) {
cards[i] = new card();
}
cards[1].setword("Hello");
顺便说一下,你应该用第一个字母大写来命名你的类,这是java命名约定。
【解决方案3】:
您需要先初始化对象,然后设置如下值 -
c[1] = new card();
然后
c[1].setword("Hello");
希望这会有所帮助。