java当我尝试返回字符串时出错
我正在设置一个方法,将用户输入的int-month转换为字符串,但似乎无法返回字符串
错误显示
Variable monthString might not have been initialized
public String StringMonth()
{
String monthString;
switch (month)
{
case 1: monthString = "January";
break;
case 2: monthString = "February";
break;
case 3: monthString = "March";
break;
case 4: monthString = "April";
break;
case 5: monthString = "May";
break;
case 6: monthString = "June";
break;
case 7: monthString = "July";
break;
case 8: monthString = "August";
break;
case 9: monthString = "September";
break;
case 10: monthString = "October";
break;
case 11: monthString = "November";
break;
case 12: monthString = "December";
break;
}
return monthString;
}
}
# 1 楼答案
要解决这个问题,只需执行
String monthString = null;
或者更好地执行String monthString = StringUtils.EMPTY;
初始化变量意味着在使用变量之前为其指定初始值。如果变量已声明但未初始化,则会收到错误消息:
因此,在您的例子中,您会得到这个错误,因为您只有
String monthString
,并且您没有用初始值初始化monthString
导致错误消息我更喜欢
String monthString = StringUtils.EMPTY
而不是String monthString = null
,因为我们给它赋值的是一个实际的string
值,而不仅仅是null
这是一个关于is StringUtils.EMPTY recommended的有趣话题,尽管它与我建议使用
StringUtils.EMPTY
的内容相悖,但我相信这清楚地表明了这一点(这只是我的观点,并不是说我是对的)# 2 楼答案
这将实现以下目的:
您可能还希望有一个
default
案例。并考虑在分配默认值时错误处理;该怎么办