检查空字符串

时间:2013-05-31 20:31:18

标签: java

public static double convertWeight(String value, String value2) {
    double lbs = 0;
    double ounces = 0;
    if (!value.equals("")) {
        lbs = Double.parseDouble(value);
    }
    if (!value2.equals("")) {
        ounces = Double.parseDouble(value2) * 0.062500;
    }
    double grams = (lbs + ounces) / 0.0022046;
    return grams;
}

我有这段代码,有时我会得到磅或盎司值empty。上面的代码工作正常,但我编写代码的方式并不开心。谁能告诉我一个更好的替代方式。

我必须convertWeight。所以从我的服务中我有时会得到值或有时只是空字符串。如果它是空的我确保我传递lbs或盎司“ZeroconverWeight(value1, value2);

4 个答案:

答案 0 :(得分:6)

Java 6实现了一个新的String方法isEmpty()。只要您运行6或更高版本,就可以使用此方法重写代码。它更具可读性。

try {
    if (!isEmpty(value)) {
        lbs = Double.parseDouble(value);
    }
    if (!isEmpty(value2)) {
        ounces = Double.parseDouble(value2) * 0.062500;
    }
} catch (NumberFormatException nfe) {
    //Do some notification
    System.err.println("Invalid input.");
}

作为补充建议..您可能希望将此代码包装在try / catch块中。如果不这样做,如果程序试图解析除任一值的有效double之外的任何内容,则程序将因未捕获的异常而崩溃。

答案 1 :(得分:1)

我通常这样做

if (value != null && !value.trim().isEmpty())
  • Null检查以避免NPE
  • 跟随trim()去除任何无关的空格
  • 后跟isEmpty(),其长度为> 0

答案 2 :(得分:1)

我建议使用Apache StringUtils.isEmpty(),. isNotEmpty(),. isHlank()和.isNotBlank()。保持Apache Commons对许多Java怪癖很有用,而不仅仅是字符串。

http://commons.apache.org/proper/commons-lang/javadocs/api-release/org/apache/commons/lang3/StringUtils.html

答案 3 :(得分:0)

使用String.isEmpty方法

public static double convertWeight(String value, String value2) {
    double lbs = (value.isEmpty())?0:Double.parseDouble(value);
    double ounces = (value2.isEmpty())?0:Double.parseDouble(value2) * 0.062500;
    return (lbs + ounces) / 0.0022046;
}