黑马程序员技术交流社区
标题:
为什么报错呢?
[打印本页]
作者:
李深山
时间:
2012-3-20 00:23
标题:
为什么报错呢?
System.out.println(Long.valueOf("a"));
Exception in thread "main" java.lang.NumberFormatException: For input string: "a"
明明是可以的,以下是API说明,
public static Long valueOf(String s)
throws NumberFormatException返回保持指定 String 的值的 Long 对象。该参数被解释为表示一个有符号的十进制 long,该值与用该参数作为参数的 parseLong(java.lang.String) 方法得到的值非常相似。结果是表示由字符串指定的整数值的 Long 对象。
作者:
魏群
时间:
2012-3-20 00:42
s - 要解析的字符串,必须要是转换的数字的字符串形式。
作者:
张一凡
时间:
2012-3-20 00:43
有些字符串无法直接转成整型。
作者:
a504079589
时间:
2012-3-20 00:50
这是数值格式转换异常, 只有数值型的字符串才能转换成整形数据, 比如"34"可以转换成相应的整数,,但是"a"这样是不行的啊
作者:
黄秋
时间:
2012-3-20 01:08
API最后那句才是关键呀:
抛出:
NumberFormatException - 如果不能将字符串解析为 long。
你现在的"a" 就是--- “不能将字符串解析为 long”。
作者:
丁佼
时间:
2012-3-20 01:59
这个和char的打印不同,char的数值转换打印时,是将字符的ASCII码打印出来,
这里的valueOf只能将一个数字形式存在的字符串转换成数字。也就是只能转换“123346567”这样的,
对于含有数字以外的字符,比如“abc”、“123234bcd”无法转换。
另附:
NumberFormatException (API文档的的解释是:当应用程序试图将字符串转换成一种数值类型,但该字符串不能转换为适当格式时,抛出该异常。 )
作者:
陈从宾
时间:
2012-3-20 06:46
Long valueOf(String s) 中的参数只能是由数字组成的字符串,不可以包含字母或其他字符的
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2