当我使用这两种方法运行我的程序时,我得到了一个空指针异常:
public static String getType(int x)
{
Contact_Type Type;
String strType = "";
Type = AddyBook.get(x).getContactType();
strType = Type.toString ( );
return strType;
}
public static String displayByType(String type)
{
int i = 0;
String strTypeList = "";
if(type.equals(null))
strTypeList = "What?What?What?LOLOLOLOLOLnopechucktesta";
while(i < AddyBook.size())
{
if(getType(i).equalsIgnoreCase(type))
{
strTypeList += getType(i);
strTypeList += "\n";
}
i++;
}
return strTypeList;
}
我被指出的线条是
strType = Type.toString ( );
和
if(getType(i).equalsIgnoreCase(type))
除了它们正在操作的变量之外,我还在其他相同的方法中遇到异常。
我的问题是,在我的驱动程序类中,我直接测试了“getType”方法,它工作正常。然后,在“displayByType”方法中,我什至说“如果 Type 为 null,请执行此操作”,但它仍然只是抛出异常。我不知道为什么,但我觉得这可能非常简单明了;我一直在研究这个太久了,现在看不到它。:/
编辑1: Type = AddyBook.get(x) 的内容是一个对象, .getContactType() 的结果是一个枚举。