2015-10-05 141 views
0

我不得不将一个字符串转换为短字符串,唯一能做的就是将一个空字符串与它连接起来,这是正确的方式吗?为什么没有String.valueOf(short a);

PS,为什么没有String.valueOf(short a);

+8

为什么不只是使用它可以隐式转换为'int'的事实? '短x = 10; String y = String.valueOf(x);'应该可以正常工作。 –

+0

难道你不能简单地促进矮到int? 'String.valueOf((int)a);'在这种情况下没有精确度丢失,是吗? – Jagger

+2

@Jagger这是隐含的提升,所以没有必要做任何事情。与“byte”一样。 – biziclop

回答

10

因为JDK的创造者并不认为这是必要的。

给定一个简短的,你可以简单地打电话给String.valueOf(int)

注意,即使Short.toString(short)被实现为return Integer.toString((int)s, 10);

+0

试过这种方式一定错过了一些东西,但它的工作完美... –

1

String.valueOf(short a);不需要,因为String.valueOf(int a);是等效的,所以在String API中是多余的。

为了使用短内置功能用途:

Short.toString(short);

而且,解释和Jon Skeet指出:

为什么不直接使用的事实,这是隐式转换为int ? short x = 10; String y = String.valueOf(x);应该正常工作

String.valueOf(int);

3

您可以使用

short s = 5 
String str = String.valueOf(s); // s is widened to int. 

String str = Short.toString(s); 

加入将String.valueOf(短)将不会有太大变化。