Как преобразовать / преобразовать длинную строку в строку?

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

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

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

long date = curDateFld.getDate();

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


person user225714    schedule 06.12.2009    source источник


Ответы (7)


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

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


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

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

person Gregory Pakosz    schedule 06.12.2009
comment
Обратите внимание, что Long.valueOf(String) возвращает Long. Если вам нужен long, используйте Long.parseLong(String). - person Daniel Hepper; 26.10.2011
comment
В чем разница между этим способом или просто concat вот так: (+ longAttr)? - person Marcelo Assis; 08.02.2012
comment
@MarceloAssis .. concat примерно в 2 раза медленнее. Если производительность имеет значение в вашем приложении. - person Hari Menon; 25.02.2012
comment
Хорошо, но обратите внимание, что java.util.Objects доступен только с Java 7. - person Guillaume Husta; 23.07.2014
comment
До Java 7 вы также могли использовать эквивалент ObjectUtils.toString(Object,String) Commons Lang. - ›commons.apache.org/proper/commons-lang/javadocs/api-2.6/org/, java.lang.String) - person Guillaume Husta; 23.07.2014

String strLong = Long.toString(longNumber);

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

person Fisu    schedule 11.04.2012
comment
Для преобразования общего типа вне контекста Date рекомендуется преобразовать Long в String. - person KomodoDave; 06.09.2012
comment
Прекрасно работает с примитивным типом (long), но может выдавать NPE с типом объекта (Long), даже с автобоксингом. - person Guillaume Husta; 23.07.2014

Long.toString()

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

long myLong = 1234567890123L;
String myString = Long.toString(myLong);
person Pedro Lobito    schedule 20.09.2014
comment
Есть ли разница с String.valueOf(myLong)? - person membersound; 29.09.2017
comment
@membersound они такие же. В основном String.valueOf (long) вызывает Long.toString () - person Nero; 09.03.2018
comment
@Nero Я бы не стал называть то же самое, потому что String.valueOf () вернет null в случае null, а Long.toString () вызовет NullPointerException - person Dhiresh Jain; 27.04.2019

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

long date = curDateFld.getDate(); 
String str = ""+date;
person MR.M    schedule 19.09.2011

String logStringVal= date+"";

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

person MBR    schedule 18.11.2013
comment
Я думал, что String.valueOf был предпочтительным подходом, но я заметил, что просто вызывает Long.toString, так что, возможно, это более простой способ. - person gMale; 17.11.2014

Просто сделай это:

String strLong = Long.toString(longNumber);
person Anushil Kumar    schedule 07.09.2020

person    schedule
comment
В Stack Overflow рекомендуется добавить объяснение, почему ваше решение должно работать. Для получения дополнительной информации прочтите Как ответить. - person Fabian Schultz; 09.01.2017
comment
Это не дает ответа на вопрос. Чтобы критиковать или запрашивать разъяснения у автора, оставьте комментарий под его сообщением. - Из отзыва - person Krupal Shah; 09.01.2017
comment
@KrupalShah Ответ, состоящий только из кода, может быть не лучшим, но это все равно ответ. Я бы порекомендовал вам этот пост о LQPRQ: Вы делаете это неправильно: призыв к здравомыслию в очереди сообщений низкого качества - person FelixSFD; 09.01.2017