Java 哪里是Short.toString(短s,int基数)?
Java 哪里是Short.toString(短s,int基数)?,java,Java,Short.parseShort(字符串s,整数基数)存在,同样存在的还有Integer.parseInt(字符串s,整数基数)和Long.parseLong(字符串s,整数基数) Integer.toString(int i,int基数)和Long.toString(Long l,int基数)存在 Short.toString(Short s),Integer.toString(int i)和Long.toString(Long l)都存在 那么为什么没有Short.toString(短s,i
Short.parseShort(字符串s,整数基数)
存在,同样存在的还有Integer.parseInt(字符串s,整数基数)
和Long.parseLong(字符串s,整数基数)
Integer.toString(int i,int基数)
和Long.toString(Long l,int基数)
存在
Short.toString(Short s)
,Integer.toString(int i)
和Long.toString(Long l)
都存在
那么为什么没有Short.toString(短s,int基数)
(这不可能是因为你总是可以将短整数转换成整数,并使用Integer
class'方法,同样的道理也可以用来消除这个问题;你总是可以将整数转换成长整数,并使用long
class'版本。)争论的焦点是你可以使用Integer.toString(int,int)
查看Short.toString(Short)(Java 6)的代码,它在封面下使用整数版本:
public static String toString(short s) {
return Integer.toString((int)s, 10);
}
看看
Short.toString(Short s)
的实现:
所以,只需使用
Integer
。(注意,Integer
和Long
的实现是不同的)实现的唯一区别是char[]buf的大小更大,对吗?那么为什么不在使用更小buf的Short类中实现呢?Byte
btw也是如此-它使用Integer
。我认为这是一个不必要的优化。@Tom:因为它不值得。通常,您应该更喜欢int
而不是short
/byte
。首选double
而不是float
。
public static String toString(short s) {
return Integer.toString((int)s, 10);
}