2015-10-05 153 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(短)將不會有太大變化。

相關問題