Как long преобразовать в string java
Перейти к содержимому

Как long преобразовать в string java

  • автор:

Не получается конвертировать 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 серебряных знаков 56 56 бронзовых знаков

задан 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

java Конвертирование из long в String java.lang.Long cannot be cast to java.lang.Str— шибка как исправить

vedro-compota's picture

Используйте, как и для числе другого типа String.valueOf():

String num = String.valueOf(pif.get("AccountNumber")); // где pif.get("AccountNumber") возвращает Long

Key Words for FKN + antitotal forum (CS VSU):

Java: преобразование строки в число и наоборот

В некоторых случаях при программировании на Java нам нужно выполнить преобразование строки в число или числа в строку. Это бывает, если мы имеем величину определённого типа и желаем присвоить эту величину переменной другого типа. Преобразования типов в Java осуществляются разными способами, давайте рассмотрим наиболее популярные из них.

Как преобразовать строку в число в Java?

Речь идёт о преобразовании String to Number. Обратите внимание, что в наших примерах, с которыми будем работать, задействована конструкция try-catch. Это нужно нам для обработки ошибки в том случае, когда строка содержит другие символы, кроме чисел либо число, которое выходит за рамки диапазона предельно допустимых значений указанного типа. К примеру, строку «onlyotus» нельзя перевести в тип int либо в другой числовой тип, т. к. при компиляции мы получим ошибку. Для этого нам и нужна конструкция try-catch.

Преобразуем строку в число Java: String to byte

Выполнить преобразование можно следующими способами:

C помощью конструктора:

try < Byte b1 = new Byte("10"); System.out.println(b1); >catch (NumberFormatException e)

С помощью метода valueOf класса Byte:

String str1 = «141»; try < Byte b2 = Byte.valueOf(str1); System.out.println(b2); >catch (NumberFormatException e)

С помощью метода parseByte класса Byte:

byte b = 0; String str2 = «108»; try < b = Byte.parseByte(str2); System.out.println(b); >catch (NumberFormatException e)

А теперь давайте посмотрим, как выглядит перевод строки в массив байтов и обратно в Java:

String str3 = «20150»; byte[] b3 = str3.getBytes(); System.out.println(b3); //массив байтов переводится обратно в строку try < String s = new String(b3, "cp1251"); System.out.println(s); >catch (UnsupportedEncodingException e)

Преобразуем строку в число в Java: String to int

Здесь, в принципе, всё почти то же самое:

Используем конструктор:

try < Integer i1 = new Integer("10948"); System.out.println(i1); >catch (NumberFormatException e)

Используем метод valueOf класса Integer:

String str1 = «1261»; try < Integer i2 = Integer.valueOf(str1); System.out.println(i2); >catch (NumberFormatException e)

Применяем метод parseInt:

int i3 = 0; String str2 = «203955»; try < i3 = Integer.parseInt(str2); System.out.println(i3); >catch (NumberFormatException e)

Аналогично действуем и для других примитивных числовых типов данных в Java: short, long, float, double, меняя соответствующим образом названия классов и методов.

Как преобразовать число в строку в Java?

Теперь поговорим о преобразовании числа в строку (Number to String). Рассмотрим несколько вариантов:

1. Преобразование int to String в Java:
 
int i = 53; String str = Integer.toString(i); System.out.println(str);
2. Преобразование double to String в Java:
 
double i = 31.6e10; String str = Double.toString(i); System.out.println(str);
3. Преобразуем long to String в Java:
 
long i = 3422222; String str = Long.toString(i); System.out.println(str);
4. Преобразуем float to String в Java:
 
float i = 3.98f; String str = Float.toString(i); System.out.println(str);

Преобразование строки в различные типы оболочки и примитивные типы данных в Java

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

1. Преобразование строки в int (или Integer)

Мы можем использовать Integer.parseInt() чтобы получить соответствующее примитивное значение int строки или использовать Integer.valueOf() чтобы получить соответствующее значение класса-оболочки Integer. Если строка не является целым числом, NumberFormatException будет брошен. Для получения более подробной информации см. это почта.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *