在Java中的IF条件下处理变量字符串零

时间:2019-03-01 07:58:07

标签: java string

我正在经历一种条件,我可以在json请求(全部为String格式)中接收任意数量的零(最多10个零)。有时只有1个零,有时是2个或3个或更多,但是可以保证它只会是零。

if{}条件下,我无法处理这种情况。

说明:

// zero is the api variable which can contain any number of zeros upto 10.

我能想到的是使用10 || if {}检查条件。

if (zero.equals("0") || zero.equals("00") || zero.equals("000") || ...)

这似乎是合乎逻辑且高效的。

那么,我应该如何处理这种情况?

3 个答案:

答案 0 :(得分:4)

您可以使用regular expression

Ka Siang

答案 1 :(得分:1)

此方法的丑陋之处在于,当输入不正确(不是数字)时,它可能抛出NumberFormatException

但是,10个或1个零,不在乎有多少个,“ 0”填充的字符串的数值始终为0。

try
{
  if (Integer.parseInt(zero) == 0)
  {
    //do your things
  }
}
catch (NumberFormatException e)
{
  //handle it when it's not a number
}

答案 2 :(得分:1)

我假设“零”可以以零开头,所以像这样的代码

if (zero.charAt(0) == '0') {
    ...
}

应该是您所需要的。

如果字符串可以为空,则需要

!zero.isEmpty() && zero.charAt(0) == '0'

避免异常

或者,您可以写

if (zero.startsWith("0")) {
    ...
}