NullPointerException
。我想只有两种性别可供选择
public String typeOfGender
{
switch (typeOfGender)
{
case "Male":
typeOfGender = "Male";
break;
case "Female":
typeOfGender = "Female";
break;
default:
System.out.println(" Unrecognized gender." );
}
}
答案 0 :(得分:1)
您尚未初始化typeOfGender。它是null。这就是为什么。尝试
typeOfGender="Male";
顺便说一句,你的代码没有意义。如果typeOfGender等于"男性",则指定"男性"它呢?
答案 1 :(得分:0)
导致NullPointerExeption
,因为您的字符串为null
。
但是,为了将来参考,这里是一个带字符串的switch-case的例子:
String string = "foo";
switch (string) {
case "foo":
System.out.println("foo");
break;
case "bar":
System.out.println("bar");
break;
default:
System.out.println("Mushroom Stew!");
break;
}
答案 2 :(得分:0)
我经常使用它们没有问题,例如下面的例子。你扔掉它的唯一原因就是你将null传递给它。
private string GetMailBody(string regionCode)
{
switch(regionCode)
{
case "qc":
//Do some stuff
break;
default:
//If not specified, we assume US, so we do that.
break;
}
return "String we should have edited above";
}