2015-03-05 2 views
0

Существует код:Long в строку в Java

Long val = 10L 

Если я хочу, чтобы принять его значение в виде строки, какой подход является правильным?

val.toString() или (String)val?

+2

'String.valueOf()' – Albert

+2

Вы проверили, работает ли '(String) val' даже? – Pshemo

+0

(String) val давал ошибку времени выполнения. Я был смущен этим. BUt yes String.valueOf работает отлично. Я просто хотел покрыть нулевое состояние. В, toString() я должен был сделать это вручную. – Aalekh

ответ

4

val.toString() будет работать.

Если вы не уверены, если val может быть пустым, вы можете также сделать String.valueOf(val)

+0

Один комментарий: make 'String.valueOf (val)' будет полагаться на unboxing 'Long' на примитивный' long'. –

+0

Спасибо. String.valueOf именно то, что я хотел. Я также хотел рассмотреть и нулевой случай. – Aalekh

+0

@TimBiegeleisen: Это было бы плохо (результат NPE). Почему он не вызывает String.valueOf (Object) без распаковки? – Thilo

0

Вы бы это сделать, как это с классом Струнный:

String s = String.valueOf(val); 

Если Long может быть пустым и вы не хотите получать 4-буквенную строку «null», вы можете использовать Objects.toString, например: String s = Objects.toString (val, null);

Вы реверс его с помощью Long val = Long.parseLong(String);, но в этом направлении вам нужно поймать NumberFormatException

0

Вы также можете сделать:

Long.toString(val); 

напечатанный не работает, так как строка не является примитивным типом данных.

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