2015-10-05 3 views
0

Мне пришлось сделать короткую строку, и единственный способ, которым я мог это сделать, состоял в том, чтобы связать с ней пустую строку, правильно ли это?Почему нет String.valueOf (short a);

PS, почему нет String.valueOf(short a);

+8

Почему бы просто не использовать тот факт, что он неявно конвертируется в 'int'? 'short x = 10; Строка 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 отметил:

Почему бы не использовать тот факт, что это неявное преобразование в целое ? 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 (короткий) не изменится.

Смежные вопросы