Как конвертировать / приводить длинные в String?

290

Я только что создал пример приложения BB, который может позволить выбрать дату.

DateField curDateFld = new DateField("Choose Date: ",
  System.currentTimeMillis(), DateField.DATE | DateField.FIELD_LEFT);

После выбора даты мне нужно преобразовать это длинное значение в строку, чтобы я мог легко сохранить значение даты где-нибудь в базе данных. Я новичок в разработке Java и Blackberry.

long date = curDateFld.getDate();

Как мне преобразовать это длинное значение в строку? Также я хочу преобразовать обратно в длинную строку. Я думаю, что я могу использовать long l = Long.parseLong("myStr");?

user225714
источник

Ответы:

393

См. Справочную документацию по классу String :String s = String.valueOf(date);

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


РЕДАКТИРОВАТЬ:

Вы переворачиваете это с помощью, Long l = Long.valueOf(s);но в этом направлении вам нужно пойматьNumberFormatException

Григорий Пакош
источник
13
Обратите внимание, что Long.valueOf(String)возвращает Long. Если вы хотите long, используйте Long.parseLong(String).
Даниэль Хеппер
1
В чем разница между этим способом или просто конкататом вроде этого: ("" + longAttr)?
Марсело Ассис
4
@MarceloAssis .. concat примерно в 2 раза медленнее. Если производительность имеет значение в вашем приложении.
Хари Менон
Хорошо, но обратите внимание, что java.util.Objectsдоступно только с Java 7.
Гийом Хуста
1
До Java 7 вы также могли использовать Commons Lang's, ObjectUtils.toString(Object,String)что эквивалентно. -> commons.apache.org/proper/commons-lang/javadocs/api-2.6/org/… , java.lang.String)
Гийом Хуста,
207
String strLong = Long.toString(longNumber);

Просто и отлично работает :-)

FISU
источник
Для общего преобразования типов вне Dateконтекста это рекомендуемая практика для преобразования Longв String.
KomodoDave
3
Прекрасно работает с примитивным типом (long), но может создавать NPE с типом Object (Long), даже с автобоксом.
Гийом Хуста
93

Long.toString()

Следующее должно работать:

long myLong = 1234567890123L;
String myString = Long.toString(myLong);
CONvid19
источник
1
Есть ли разница String.valueOf(myLong)?
membersound
2
@ membersound они одинаковые. В основном String.valueOf (long) вызывает Long.toString ()
Nero
3
@Nero Я бы не назвал то же самое, потому что String.valueOf () вернет «ноль» в случае нулевого значения, в то время как Long.toString () вызовет
исключение
21

очень просто, просто соединить длинную строку.

long date = curDateFld.getDate(); 
String str = ""+date;
Mr.M
источник
10

1.

long date = curDateFld.getDate();
//convert long to string
String str = String.valueOf(date);

//convert string to long
date = Long.valueOf(str);

2.

 //convert long to string just concat long with empty string
 String str = ""+date;
//convert string to long

date = Long.valueOf(str);
iKushal
источник
3
String logStringVal= date+"";

Может конвертировать long в строковый объект, классный ярлык для конвертации в string ... но использование String.valueOf(date);желательно

MBR
источник
Я думал, что String.valueOfэто предпочтительный подход, но я заметил, что это просто звонки, Long.toStringтак что, возможно, это более простой способ.
gMale
2
String longString = new String(""+long);

или

String longString = new Long(datelong).toString();
Натан Мейер
источник
Рекомендуется добавить переполнение стека, чтобы объяснить, почему ваше решение должно работать. Для получения дополнительной информации прочитайте, как ответить .
Фабиан Шульц
1
Это не дает ответа на вопрос. Чтобы критиковать или запросить разъяснения у автора, оставьте комментарий под своим постом. - Из обзора
Крупал Шах
2
@KrupalShah Ответ только для кода не может быть хорошим, но это все же ответ. Я бы порекомендовал вам этот пост о LQPRQ: вы делаете это неправильно: призыв к здравомыслию в очереди сообщений низкого качества
FelixSFD