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);
}