gpt4 book ai didi

java - 访问 Java 类中的变量时出现 NullPointerException

转载 作者:行者123 更新时间:2023-12-02 17:53:25 25 4
gpt4 key购买 nike

在 Java 类中设置变量时遇到问题

这是我的代码

这是我创建实例的地方(IdeaInfo 是一个类似于 Struct 的类):

IdeaInfo[] IDEAS = new IdeaInfo[100];
String[] TITLES = new String[100];

这是将使用这些实例的函数:

    try {
while ((line = reader.readLine()) != null) {
sb.append(line + "\n");
// This is adding title to array Ideas and Titles
if(mode % 3 == 0) {
IDEAS[ideas_pos].setTitle(sb.toString());
TITLES[titles_pos] = sb.toString();
titles_pos++;
mode++;
}
// This is adding the content to array Ideas
else if(mode % 3 == 1) {
IDEAS[ideas_pos].mContent = sb.toString();
mode++;
}
// This is adding the rating to array Ideas
else if(mode % 3 == 2) {
IDEAS[ideas_pos].mRating = Float.valueOf(sb.toString().trim()).floatValue();
ideas_pos++;
mode++;
}
}
}

这是我在 IdeaInfo 类中的内容:

public class IdeaInfo {

public String mTitle = new String(); // Store the Idea's title
public String mContent = new String(); // Store the Idea's title
public float mRating; // Store the Idea's Rating

/*
* Function that set the Idea's title
*/
public void setTitle(String temp){
mTitle = temp;
}
}

显然,错误发生在try内部,恰好在IDEAS[ideas_pos].setTitle(sb.toString());处。调试器指示我正在访问 NullPointerException,这对我来说没有任何意义,因为我已经初始化了类中的这些变量。

对了,我初始化了ideas_pos到 0。

最佳答案

当你初始化一个数组时,并不意味着你已经初始化了它的成员。

IDEAS[x]null。您需要通过以下方式初始化它:

IDEAS[ideas_pos] = new IdeaInfo();

关于java - 访问 Java 类中的变量时出现 NullPointerException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4006286/

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