我正在尝试使用开关盒,但是它表现得很奇怪。对于某些输入,它起作用,而对于某些输入,它不起作用。我检查了输入值,发现它们适合满足条件。请帮忙。我是新来的飞镖和飞镖。
我试图通过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中的字符串,我正在尝试运行切换用例。 lstRows中Elements包含的字符串值是{股息INR,支付比率%*,运营现金流INR米尔,上限支出INR米尔,自由现金流INR米尔}。 “付款比例%*”的情况有效。对于其他情况,它仅跳过/跳转到下一个情况并退出。请帮忙。让我知道是否需要更多信息来调试它。
答案 0 :(得分:1)
编辑:
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;