Главная » Java » Преобразование строк

0

Довольно часто возникает необходимость преобразовать строку в значение другого типа (скажем, целого или логического) или наоборот. Согласно конвенции, принятой в Java, тип, к которому преобразуется значение, должен содержать метод, выполняющий преобразование.  Например, преобразование из типа String в Integer должно выполняться статическим методом класса Integer. Ниже приводится таблица всех конвертируемых типов, а также способы их преобразования в тип String и обратно:

Тип

В String

Из String

boolean

String.valueOf(boolean)

new Boolean(String).booleanValue()

int

String.valueOf(int)

Integer.ParseInt(String, int base)

long

String.valueOf(long)

Long.ParseLong(String, int base)

float

String.valueOf(float)

new Float(String).floatValue()

double     String.valueOf(double)    new Double(String).doubleValue()

Для логических значений, а также для значений с плавающей точкой сначала создается объект Float или Double, после чего определяется его численное значение. Для значений с плавающей точкой не существует эквивалента метода parseInt, который напрямую выделяет значение из строки.

Не существует методов, которые переводили бы символы из форм, распознаваемых языком Java (\b, \udddd и т. д.) в переменные типа char или наоборот. Вы можете вызвать метод String.valueOf для отдельного символа, чтобы получить строку, состоящую из

одного данного символа.

Также не существует возможности создать или преобразовать числовые строки в формат языка Java, в котором начальный 0 означает восьмеричную запись, а 0x — шестнадцатеричную.

Преобразования в byte и short, а также обратные им производятся через тип int, поскольку соответствующие  значения всегда лежат в диапазоне int; к тому же при использовании этих типов в вычисляемых выражениях они все равно преобразуются в int.

Новые классы также могут поддерживать строковые преобразования;  для этого в них следует включить метод toString и конструктор, который создает новый объект по строковому описанию. Классы, включающие метод toString, могут использоваться в valueOf. В соответствии с определением метода valueOf(Object obj), он возвращает либо строку “null”, либо obj.to String. Если все классы в вашей программе содержат метод toString, то вы сможете преобразовать любой объект в тип String вызовом valueOf.

Источник: Арнольд К., Гослинг Д. – Язык программирования Java (1997)

По теме:

  • Комментарии