Java java.lang.NumberFormatException: empty String
您好!我也在程序调试的过程中出现了这个问题,看了别人给你的回复,我还是看得稀里糊涂,请问您最后是如何解决这个问题的?谢谢...
您好!我也在程序调试的过程中出现了这个问题,看了别人给你的回复,我还是看得稀里糊涂,请问您最后是如何解决这个问题的?谢谢
展开
5个回答
展开全部
兄弟你好,通过这个异常,我猜测你是调用了类似如下的代码:
String s = "xxxxx";
int number = Integer.parseInt(s);
只有在s里的字符串是整数类型,它才会转型成功,如果s是空值或者是非数字字符串,就会出现类型转换异常。
建议你在转型先增加如下判断并对异常进行捕获处理
int number = 0 ;
if(s != null && !s.trim().equals("")){
try{
int number = Integer.parseInt(s.trim());//trim方法的作用是去掉字符串前后的空格
}catch(Exception e){
number = 0;
System.out.println("数字转换异常,信息:" + e.getMessage());
}
}
在捕获了异常并进行相应的处理,这样可以保证你当前的代码不影响后面程序的运行,加上输出信息,可以有效的定位错误原因并进行相应的处理。
另外,在转型前对String进行非空判断也是非常有必要的。
这些代码都是我手打的,可能会有字母错误,不过你在编辑器里稍微调整下就可以,大致的处理方法就是这样的。
}
String s = "xxxxx";
int number = Integer.parseInt(s);
只有在s里的字符串是整数类型,它才会转型成功,如果s是空值或者是非数字字符串,就会出现类型转换异常。
建议你在转型先增加如下判断并对异常进行捕获处理
int number = 0 ;
if(s != null && !s.trim().equals("")){
try{
int number = Integer.parseInt(s.trim());//trim方法的作用是去掉字符串前后的空格
}catch(Exception e){
number = 0;
System.out.println("数字转换异常,信息:" + e.getMessage());
}
}
在捕获了异常并进行相应的处理,这样可以保证你当前的代码不影响后面程序的运行,加上输出信息,可以有效的定位错误原因并进行相应的处理。
另外,在转型前对String进行非空判断也是非常有必要的。
这些代码都是我手打的,可能会有字母错误,不过你在编辑器里稍微调整下就可以,大致的处理方法就是这样的。
}
展开全部
public class NumberFormatExceptionextends IllegalArgumentException
这个异常是:当应用程序试图将字符串转换成一种数值类型,但该字符串不能转换为适当格式时,抛出该异常。
"empty String"这是空字符串呀,你将一个空字符串转换为数值类型,能不出错吗?
看了这句话,我想你应该明白是什么意思了吧。
这个异常是:当应用程序试图将字符串转换成一种数值类型,但该字符串不能转换为适当格式时,抛出该异常。
"empty String"这是空字符串呀,你将一个空字符串转换为数值类型,能不出错吗?
看了这句话,我想你应该明白是什么意思了吧。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
是不是你想把一个String变量转换成数值,但是这个String变量是null的?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在字符类型解析成数字类型时,由于这个字符类型是为空字符串,不能正常解析成数字类型的,因此抛了这个异常.
解决方法:在解析数字类型前,先判断字符串对象不可空且不为空值.严谨点还需判断该字符是否是数字
解决方法:在解析数字类型前,先判断字符串对象不可空且不为空值.严谨点还需判断该字符是否是数字
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
还是转换类型错误,你仔细检查一下,绝对可以解决
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询