业务场景:

实体类中某一个变量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);
        }