Java Object转Double,如何优雅地处理null值?
java object转double关于null值的问题:探讨更好的实现方式
java中常见的object转double操作中,当object为null时,不同转换方式会有不同处理结果。
第一种转为double:
double d1 = (double) object;
此操作允许object为null,此时d1也会为null。但d1为null时,在使用d1进行计算或操作时,可能会出现空指针异常。
第二种转为double:
double d2 = object == null ? 0 : double.parsedouble(object.tostring());
此操作需要判断object是否为null,在object为null时赋0值。这种方式可以避免空指针异常,但需要在代码中手动判断null值。
更优的实现方式:
推荐的object转double方式,既可以避免空指针异常,又不需要手动判断null值,如下:
double d1 = (double) (object == null ? 0d : object); double d2 = (double) (object == null ? 0d : object);
工具类方法:
为了简化代码,可以在工具类中封装此转换操作:
public static double parsedouble(object object) { return (double) (object == null ? 0d : object); }
使用时直接调用工具类方法:
Double d1 = parseDouble(object); double d2 = parseDouble(object);
总结:
推荐使用上述更优的实现方式或工具类方法,既可以避免空指针异常,又无需手动判断null值。