2 回答

TA贡献1860条经验 获得超8个赞
对于您的问题,我有一个简单的解决方案。当用户全选时,在这种情况下传递空列表,并在进行查询时仅放置此条件。
if (outletList.size()==0) {
// case for all
} else {
// do regular stuff
}

TA贡献1828条经验 获得超6个赞
您不是在比较可比较的类型。outletList是 aList并且它不能等同于 aString即使列表可能只包含一个恰好是 a 的元素String。所以,outletList.equals("ALL")不会做你认为它会做的事情。
但这提出了一个有趣的观点。您有一个选择列表,但multiple为什么不返回一个始终是单个值的列表?为什么在ALL选择时切换到发回空列表?这没有意义;正如预期的那样,有一个选择。这增加了不必要的混乱。
尝试将单个值作为 a 发回String并让该值确定逻辑,以便您具有灵活性。如果这是无法避免的名单,然后只接受一个值(list[0]例如)和呼叫平等上是 没有的List。
if(outletList[0].equals("All")) {...}
如果你后来发现自己需要不止一if-else对,你可以切换到switch这样的:
switch(outletList[0]) { // or the single value...
case "ALL":
...
...
default:
...
}
添加回答
举报