Java 使用空值将字符串解析为双精度

Java 使用空值将字符串解析为双精度,java,string,double,Java,String,Double,我必须将字符串转换为双精度,但可能我有一个空值。它是否适用于Double.parseDouble(stringValue)或Double.valueOf(stringValue) 这两种方法的区别是什么 提前谢谢你。这两种方法都没有任何区别。两者都将抛出NullPointerExecAction。相反,您需要添加一个helper方法,该方法返回一个Double static Double parseDouble(String s) { return s == null ? null :

我必须将字符串转换为双精度,但可能我有一个空值。它是否适用于
Double.parseDouble(stringValue)
Double.valueOf(stringValue)

这两种方法的区别是什么


提前谢谢你。

这两种方法都没有任何区别。两者都将抛出NullPointerExecAction。相反,您需要添加一个helper方法,该方法返回一个Double

static Double parseDouble(String s) {
    return s == null ? null : Double.parseDouble(s);
}
或者,您可以通过使用默认值返回一个
双精度

static double parseDouble(String s, double otherwise) {
    return s == null ? otherwise : Double.parseDouble(s);
}
合适的值可能是
Double.NaN

static double parseDouble(String s) {
    return s == null ? Double.NaN : Double.parseDouble(s);
}

如果字符串为null,则两者都将引发异常。区别在于返回类型,而不是如何处理错误的输入。其中一个是复制品。请将每个问题限制为一个问题。它是否适用于
Double.parseDouble(stringValue)或Double.valueOf(stringValue)
?否它将抛出空指针:仅差返回类型。如果您喜欢,还可以向上投票一个答案;)