This question already has answers here:
Different between parseInt() and valueOf() in java?
(12个答案)
2年前关闭。
我最近在堆栈溢出上偶然发现another question,其中一个人建议使用Short.parseShort(String s)和另一个Short.valueOf(String s)。
我自己都尝试过,但发现功能上没有区别,official Documentation并没有真正帮助我:
Short.parseShort:
将字符串参数解析为带符号的十进制short。字符串中的字符必须全部为十进制数字,但第一个字符可以是表示负值的ASCII减号'-'('\ u002D'),也可以是ASCII加号'+'('\ u002B')表示正值。返回所产生的short值,就像参数和基数10作为parseShort(java.lang.String,int)方法的参数一样。
Short.valueOf:
返回一个Short对象,其中包含指定String给出的值。该参数被解释为表示一个带符号的十进制短整数,就好像该参数已被赋予parseShort(java.lang.String)方法一样。结果是一个Short对象,它表示由字符串指定的short值。
两者都接受附加的参数
它们似乎是相同的,但是如果是这样,为什么两者都存在?
(12个答案)
2年前关闭。
我最近在堆栈溢出上偶然发现another question,其中一个人建议使用Short.parseShort(String s)和另一个Short.valueOf(String s)。
我自己都尝试过,但发现功能上没有区别,official Documentation并没有真正帮助我:
Short.parseShort:
将字符串参数解析为带符号的十进制short。字符串中的字符必须全部为十进制数字,但第一个字符可以是表示负值的ASCII减号'-'('\ u002D'),也可以是ASCII加号'+'('\ u002B')表示正值。返回所产生的short值,就像参数和基数10作为parseShort(java.lang.String,int)方法的参数一样。
Short.valueOf:
返回一个Short对象,其中包含指定String给出的值。该参数被解释为表示一个带符号的十进制短整数,就好像该参数已被赋予parseShort(java.lang.String)方法一样。结果是一个Short对象,它表示由字符串指定的short值。
两者都接受附加的参数
radix
,并且都抛出NumberFormatException
。它们似乎是相同的,但是如果是这样,为什么两者都存在?
最佳答案
valueOf
在内部使用parseShort
并另外将值包装在盒装类型Short
中:
public static Short valueOf(String s, int radix)
throws NumberFormatException {
return valueOf(parseShort(s, radix));
}
关于java - Short.parseShort和Short.valueOf之间的Java区别,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45367089/
10-10 03:08