尝试从另一个类访问字符串时出现NullPointerException

时间:2013-03-27 20:29:42

标签: java nullpointerexception

当我尝试使用我构建的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)时,它会抛出异常。

提前感谢您的帮助!

3 个答案:

答案 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;  
         }
}  
相关问题