Главная » Java » Класс Character

0

служит для представления символьного типа char. Помимо констант MIN_VALUE и MAX_VALUE, он содержит две константы MIN_RADIX и MAX_RADIX, которые равны минимальному и максимальному основанию системы счисления, которые используются методами (описанными ниже) для перевода отдельного цифрового символа в его целочисленный эквивалент и наоборот. Основание должно находиться в диапазоне

2–36; цифры свыше 9 представлены буквами от A до Z или их эквивалентами в нижнем регистре.

public static int digit(char ch, int radix)

Возвращает численный эквивалент цифры ch в системе счисления с основанием radix.

Если символ не является допустимой цифрой, то возвращается –1. public static char forDigit(int digit, int radix)

Возвращает символьное значение заданной цифры в заданной системе счисления. Если цифра является недопустимой в этой системе, возвращается символ \u0000.

также содержит методы для работы с различными атрибутами символов, включая регистр. В Unicode имеется три разновидности регистра: верхний, нижний и заглавный (title case). Верхний и нижний регистры, наверное, хорошо знакомы большинству читателей. Заглавный регистр используется для обозначения символов, которые состоят из нескольких компонентов и написание которых изменяется в заголовках, где первые буквы слов обычно делают прописными. Например, в слове “ljepotica” /Слово "ljepotica" на хорватском языке означает "красавица"./ первая буква является символом lj нижнего регистра (\u01c9, символ из набора Extended Latin, используемого при записи хорватских диграфов). Если это слово встретится в названии книги и вы захотите преобразовать первые буквы всех слов в верхний регистр, то необходимо вызвать для них метод toTitleCase, что в нашем случае даст строку “Ljepotica” (в которой используется символ Lj с кодом \u01c8). Если же по ошибке вызвать метод toUpperCase, будет получена неправильная строка “LJepotica” (символ LJ с кодом \u01c7).

Все проблемы в работе с регистрами решаются в соответствии со стандартом Unicode. Например, в грузинском языке буквы верхнего регистра считаются архаичными, и преобразование в верхний регистр обычно нежелательно. Поэтому метод toUpperCase не переводит грузинские буквы нижнего регистра в верхний, хотя метод toLowerCase переведет буквы из верхнего регистра в нижний. Поэтому нельзя быть уверенным в том, что символы, отличающиеся только регистром, станут одинаковыми после вызова toUpperCase или toLowerCase. Тем не менее выражение

Character.toUpperCase(Character.toLowerCase(ch));

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

public static boolean isDefined(char ch)

Возвращает true, если символ ch определен в стандарте Unicode. public static boolean isLowerCase(char  ch)

Возвращает true, если символ ch является буквой нижнего регистра. public static boolean isUpperCase(char  ch)

Возвращает true, если символ ch является буквой верхнего регистра.

public static boolean isTitleCase(char  ch)

Возвращает true, если символ ch является буквой заглавного регистра. public static boolean isDigit(char ch)

Возвращает true, если символ ch является цифрой (см. табл. 4 на стр. ). public static boolean isLetter(char ch)

Возвращает true, если символ ch является буквой (см. примечание). public static boolean isLetterOrDigit(char ch)

Возвращает true, если символ ch является буквой или цифрой. public static boolean isJavaLetter(char  ch)

Возвращает true, если с символа ch может начинаться идентификатор в Java — конкретно,

если он является буквой или одним из символов ‘_’ или ‘$’. public static boolean isSpace(char ch)

Возвращает true, если ch является стандартным символом-разделителем — ‘ ‘, ‘\t’, ‘\n’, ‘\f’

или ‘\r’.

public static char toLowerCase(char  ch)

Переводит символ ch в нижний регистр. Если эквивалент символа в нижнем регистре отсутствует, возвращается ch.

public static char toUpperCase(char  ch)

Переводит символ ch в верхний регистр. Если эквивалент символа в верхнем регистре отсутствует, возвращается ch.

public static char toTitleCase(char  ch)

Переводит символ ch в заглавный регистр. Если эквивалент символа в заглавном регистре отсутствует, возвращается ch.

public static int digit(char ch, int radix)

Возвращает численное значение символа ch, рассматриваемого  в качестве цифры с заданным основанием. При недопустимом основании возвращается –1. Буквы AZ и az используются для цифр, которые представляют значения 10 и более.

public static char forDigit(int digit, int radix)

Возвращает символ, представляющий  цифру digit с заданным основанием radix. Если digit превышает radix или значение radix выходит за пределы разрешенного диапазона, возвращается –1.

13.6. Класс Number

Абстрактный класс Number расширяется всеми классами-оболочками, представляющими числовые примитивные типы: Integer, Long, Float и Double. Каждый из этих классов содержит конструкторы, которые присваивают объекту либо значение соответствующего примитивного типа, либо представляющей его строки. В том случае, если строка неверна, конструктор со строковым параметром возбуждает исключение NumberFormatException.

Абстрактные методы Number возвращают значение объекта, преобразованное в один из следующих числовых типов:

public int intValue() public int longValue() public int floatValue() public int doubleValue()

Каждый класс, расширяющий Number, переопределяет эти методы для преобразования

своего типа в любой другой по тем же правилам, которые применяются при явном приведении типов. Например, для объекта Float со значением 32.87 метод intValue возвращает 32 — столько же, сколько дает выражение (int)32.87.

Кроме того, каждый числовой класс содержит следующие методы и константы:

Статический метод toString(тип), который возвращает объект String для заданного значения примитивного типа. Если строка не подходит к формату данного типа, конструктор возбуждает исключение Number FormatException.

Статический метод valueOf(String), который возвращает объект числового типа по строке. Все эти методы возбуждают NumberFormatException, если содержимое строки не является допустимым представлением примитивного типа.

Статические final-константы с именами MIN_VALUE и MAX_VALUE для минимального и максимального значения, принимаемого переменными типа.

13.7. Класс Integer

Класс Integer расширяет Number и служит для представления типа int в виде класса. Для типов short и byte классы-оболочки  отсутствуют, поэтому соответствующие  значения должны храниться в объектах Integer. Помимо стандартных методов класса Number, класс Integer содержит следующие методы:

public static int parseInt(String  str, int radix)

throws NumberFormatException

Возвращает значение типа int, вычисленное по строке str в системе счисления с заданным основанием radix. Если преобразование с заданным основанием невозможно,

возбуждается исключение NumberFormat Exception.

public static int parseInt(String  str) throws NumberFormatException

Эквивалентен parse Int(str, 10).

public static Integer valueOf(String str, int radix) throws NumberFormatException

Аналогично parseInt(str, Radix), за исключением того, что вместо int возвращается объект

Integer.

public static String toString(int i, int radix)

Дополнительный статический метод, который возвращает объект String, представляющий i в системе счисления с заданным основанием radix. Стандартный метод toString предполагает работу в десятичной системе счисления.

Кроме того, имеется три статических метода toHexString, toOctal String и toBinaryString, которые преобразуют аргумент типа int в шестнадцатеричную, восьмеричную или двоичную строку соответственно.

13.8. Класс Long

Класс Long расширяет Number и служит для представления типа long в виде класса.

Помимо стандартных для Number методов, класс Long содержит следующие методы:

public static long parseLong(String  str, int radix) throws NumberFormatException

Возвращает значение типа long, вычисленное по строке str в системе счисления с заданным основанием radix. Если строка не может быть преобразована в long с заданным основанием, возбуждается исключение NumberFormatException.

public static long parseLong(String  str) throws NumberFormatException

Эквивалентен parseLong(str, 10).

public static Long valueOf(String str, int radix) throws NumberFormatException

Аналогично parseLong(str, radix), за исключением того, что вместо long возвращается объект Long.

public static String toString(long l, int radix)

Дополнительный статический метод, который возвращает объект String, представляющий l в системе счисления с заданным основанием radix. Стандартный метод toString предполагает работу в десятичной системе счисления.

По аналогии с эквивалентными методами Integer, статические методы toHexString, toOctalString и toBinaryString преобразуют аргумент типа long в шестнадцатеричную, восьмеричную или двоичную строку соответственно.

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

По теме:

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