从字符串[]中删除空值?

时间:2012-02-04 13:26:45

标签: java

我正在使用

分裂
String[] arr = originalString.split(",");

根据用户选择的内容,存储true,false,true等等。我怎么说只是删除假的并在数组中保留真值?

1 个答案:

答案 0 :(得分:1)

  • 使用现有方法,遍历返回的数组,设置' false'字符串null。这真的不会给你带来太大的收益,因为你必须线性地浏览数组并查看每个元素,这在处理响应时可以简单地完成。而且,由于你无法减小阵列的大小......你无法真正去除"删除"他们就是这样。如果您确实需要一个仅包含部分响应的数组,则需要在此循环中将所需的数组复制到新数组中。

  • 从数组中创建List,使用其方法删除项目;列表将缩小并仅包含您想要的内容。再次......这里有很多线性遍历,但你最终会得到你正在寻找的结果。

  • 首先不要使用String.split()。如果您对“假”不感兴趣回复,通过Java的Matcher类使用正则表达式来仅提取“真实”和“真实”。从原始字符串中重新分类。

  • 改变您的方法。如果这些是用户回复,请勿将其存储在String中。创建一个Response对象,用于存储用户输入以及它们响应的内容。将它们存储在两个List中,一个用于" true"回复,一个用于" false"响应。