业务场景:
实体类中某一个变量amount定义的是double类型
,set方法进行存值时,存入的值是从数据库中查出的定义为String的字段(数据库中的字段类型不能够更改)
,此时需要将String转换成Double
。
注意:数据库中的字段值有可能为空值,这个时候进行转换就有可能出现转换异常
Example:
String str = "";
double dou = Double.parseDouble(str);
System.out.println(dou);
运行结果:
Exception in thread "main" java.lang.NumberFormatException: empty String
at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:1842)
at sun.misc.FloatingDecimal.parseDouble(FloatingDecimal.java:110)
at java.lang.Double.parseDouble(Double.java:538)
at com.example.domain.XZhu.main(XZhu.java:7)
为了避免这种情况的发生,要在转换的时候进行字符串的非空判断:
String str = "";
if (!str.equals("")){
double dou = Double.parseDouble(str);
System.out.println(dou);
}