我试图使用开关盒,但它表现得很奇怪。对于某些输入它正在工作,对于某些输入它不起作用。我检查了输入值,发现它们对满足条件有好处。请帮忙。我是新来的扑动和飞镖。
我尝试使用if-else if来实现这一点。即使这对我也不起作用。
List<String> lstNames = List<String>();
lstNames.addAll(["Dividends INR", "Payout Ratio % *", "Operating Cash Flow INR Mil", "Cap Spending INR Mil", "Free Cash Flow INR Mil"]);
for(String ItemHeading in lstNames){
switch (ItemHeading) {
case '' :
break;
case 'Dividends INR':
{/*Doing something.*/}
break;
case 'Payout Ratio % *':
{/*Doing something.*/}
break;
case 'Operating Cash Flow INR Mil':
{/*Doing something.*/}
break;
case 'Cap Spending INR Mil':
{/*Doing something.*/}
break;
case 'Free Cash Flow INR Mil':
{/*Doing something.*/}
break;
default:
break;
}
}
在上面的代码中,基于lstNames中的字符串,我试图运行switch case。 lstRows中Elements包含的字符串值为{Dividends INR,Payout Ratio%*,Operating Cash Flow INR Mil,Cap Spending INR Mil,Free Cash Flow INR Mil}。 “支付比率%*”的情况有效。对于其余的,它只是跳过/跳到下一个案例并退出。请帮忙。如果需要更多信息来调试它,请告诉我。
编辑:addAll()
采取iterable
lstNames.addAll(["Dividends INR", "Payout Ratio % *", "Operating Cash Flow INR Mil", "Cap Spending INR Mil", "Free Cash Flow INR Mil"]);
将项目放在列表中。
您使用的是错误的评论
//
评论整条线以及关闭}
/* */
将被使用
case 'Dividends INR':
{/*Doing something.*/}
break;
case 'Payout Ratio % *':
{/*Doing something.*/}
break;