当我尝试使用我构建的getString()方法从另一个类访问字符串时,我得到一个NullPointerException,它只返回字符串。这是我尝试使用它的地方以及我得到异常的地方:
public void storeChar(String str)
{
wordSeed wrdSd = new wordSeed();
seed = wrdSd.getSeed();
for(int i = 0; i < str.length(); i++)
{
if(str.contains(seed))
{
int temp = str.indexOf(seed, i);
singleChar.add(str.charAt(temp));
}
}
}
我从wrdSd.getSeed()获取字符串并将其存储到种子中,但这显然只是将null放入种子而不是我想要的。然后,当我尝试使用str.contains(seed)时,它会抛出异常。
提前感谢您的帮助!
答案 0 :(得分:1)
尝试检查wordSeed类,看看初始值是否为null。如果你创建该类的实例(全新的,看到“wordSeed wrdSd = new wordSeed();”),那么当你使用.getSeed()时,你必须得到一个硬编码的值。
解决此问题的几种方法是使用您设置的wordSeed的相同实例,或使用静态变量。
答案 1 :(得分:1)
确保在致电getSeed()
之前,先将其初始化。您可以在构造函数中执行此操作,以便在创建对象wrdSd
时初始化seed
字段。
答案 2 :(得分:0)
public class WordSeed
{
private String seed;
public WordSeed()
{
}
public String getSeed()
{
return this.seed;
}
}
我想象您当前的实现是否需要添加以下两个选项中的任何一个:
private String seed = "";
OR
public WordSeed(String seed)
{
if(null==seed)
{
this.seed="";
} else
{
this.seed=seed;
}
}