Преобразование Long в строку в Java
В этом коротком руководстве мы узнаем, как преобразовать Long в String в Java .
2. Используйте Long.toString()
Например, предположим, что у нас есть две переменные типа long и Long (одна примитивного типа, а другая ссылочного типа):
long l = 10L; Long obj = 15L;
Мы можем просто использовать метод toString() класса Long , чтобы преобразовать их в String :
String str1 = Long.toString(l); String str2 = Long.toString(obj); System.out.println(str1); System.out.println(str2);
Вывод будет выглядеть следующим образом:
10 15
Если наш объект obj имеет значение null , мы получим исключение NullPointerException .
3. Используйте String.valueOf()
Мы можем использовать метод valueOf() класса String для достижения той же цели:
String str1 = String.valueOf(l); String str2 = String.valueOf(obj);
Когда obj имеет значение null , метод установит для str2 значение «null» вместо того, чтобы генерировать исключение NullPointerException .
4. Используйте String.format()
Помимо метода valueOf() класса String , мы также можем использовать метод format() :
String str1 = String.format("%d", l); String str2 = String.format("%d", obj);
str2 также будет «нулевым», если obj равен нулю .
5. Используйте метод toString() длинного объекта
Наш объект obj может использовать свой метод toString() для получения строкового представления:
String str = obj.toString();
Конечно, мы получим исключение NullPointerException , если obj равно null .
6. Использование оператора +
Мы можем просто использовать оператор + с пустой строкой , чтобы получить тот же результат:
String str1 = "" + l; String str2 = "" + obj;
str2 будет «нулевым», если obj равен нулю .
7. Используйте StringBuilder или StringBuffer
Объекты StringBuilder и StringBuffer можно использовать для преобразования Long в String :
String str1 = new StringBuilder().append(l).toString(); String str2 = new StringBuilder().append(obj).toString();
str2 будет «нулевым», если obj равен нулю .
8. Используйте десятичный формат
Наконец, мы можем использовать метод format () объекта DecimalFormat :
String str1 = new DecimalFormat("#").format(l); String str2 = new DecimalFormat("#").format(obj);
Будьте осторожны, потому что если obj имеет значение null , мы получим исключение IllegalArgumentException .
9. Заключение
Таким образом, мы изучили различные способы преобразования Long в String в Java . Нам решать, какой метод использовать, но, как правило, лучше использовать тот, который является кратким и не генерирует исключений.
- 1. Обзор
- 2. Используйте Long.toString()
- 3. Используйте String.valueOf()
- 4. Используйте String.format()
- 5. Используйте метод toString() длинного объекта
- 6. Использование оператора +
- 7. Используйте StringBuilder или StringBuffer
- 8. Используйте десятичный формат
- 9. Заключение
java Конвертирование из long в String java.lang.Long cannot be cast to java.lang.Str— шибка как исправить
![]()
Используйте, как и для числе другого типа String.valueOf():
String num = String.valueOf(pif.get("AccountNumber")); // где pif.get("AccountNumber") возвращает Long
Key Words for FKN + antitotal forum (CS VSU):
Не получается конвертировать Long в String
Пытаюсь сохранить время таймера обратного отсчёта, чтобы при выходе из приложения и при открытии его, скажем, через 3 часа, таймер показывал время с учётом этих 3 прошедших часов. Ошибка java.lang.classcastexception: java.lang.long cannot be cast to java.lang.String
Ошибка в этой строке: chronometer.setText(save.getString(APP_PREFERENCES_CHRONOMETER, deadline1));
Код, вернее его часть, необходимая для понимания сути проблемы:
long duration = TimeUnit.HOURS.toMillis(24); long endOfTask = System.currentTimeMillis() + duration; void saveText () < TextView chronometer = (TextView) findViewById(R.id.chronometer); SharedPreferences save = StartGame.this.getSharedPreferences("save", MODE_PRIVATE); SharedPreferences.Editor editor = save.edit(); editor.putLong(APP_PREFERENCES_CHRONOMETER, endOfTask); editor.apply(); >void loadText ()
Отслеживать
17.9k 11 11 золотых знаков 25 25 серебряных знаков 58 58 бронзовых знаков
задан 3 дек 2020 в 23:10
Bryan Brooks Bryan Brooks
1 2 2 бронзовых знака
getString -> getLong ?
4 дек 2020 в 2:18
Tы сохраняешь putLong, а пытаешься прочитать getString. Как-то определись )
4 дек 2020 в 3:37
0
Сортировка: Сброс на вариант по умолчанию
Знаете кого-то, кто может ответить? Поделитесь ссылкой на этот вопрос по почте, через Твиттер или Facebook.
- java
- android
- mobile-development
Как преобразовать string в long java
Для преобразования строки в тип long в Java можно использовать метод Long.parseLong() . Он принимает строку и возвращает соответствующее ей значение типа long:
String str = "123456789"; long num = Long.parseLong(str);