问题描述:
java.lang.NumberFormatException: For input string: ""
问题分析:
1、使用Long.parseLong()、Integer.parseInt()、Double.parseDouble()、Float.parseFloat()、Xxx.valueOf()等方法时传参为空。
String num = "";
Long num1 = Long.parseLong(num);
Integer num2 = Integer.parseInt(num);
Double num3 = Double.parseDouble(num);
Float num4 = Float.parseFloat(num);
解决办法:
在使用Xxx.parseXxx()方法之前先判断传参是否为空。
String num = "";
Long num1 = StrUtil.isNotBlank(num) ? Long.parseLong(num) : null;
Integer num2 = StrUtil.isNotBlank(num) ? Integer.parseInt(num) : null;
Double num3 = StrUtil.isNotBlank(num) ? Double.parseDouble(num) : null;
Float num4 = StrUtil.isNotBlank(num) ? Float.parseFloat(num) : null;
注: StrUtil.isNotBlank()需要引用hutool依赖。