Java. Класс Character. Обзор методов и констант

Класс Character. Обзор методов и констант. Конструктор класса


Содержание


Поиск на других ресурсах:

1. Класс Character. Конструктор класса Character(char)

Класс Character служит оболочкой для типа char. Класс содержит конструктор, который имеет следующую общую форму:

public Character(char value);

здесь

  • value – значение, передаваемое в конструктор.

Пример. Приводятся способы инициализации переменной типа Character.

// Инициализация переменной типа Character при создании объекта класса
// Способ 1 - с использованием оператора new и конструктора
Character ch1 = new Character('f');
System.out.println(ch1.charValue());

// Способ 2 - без использования оператора new и конструктора
Character ch2 = 'z';
System.out.println(ch2.charValue());

 

2. Методы класса Character. Обзор

Ниже приводятся основные методы класса Character без перечня методов, поддерживающих кодовые точки в Unicode:

  • charValue() – возвращает символ, который помещен в оболочку Character;
  • equals() – сравнить текущий объект с другим объектом типа Character;
  • hashCode() – получить хэш-код объекта;
  • compareTo() – сравнить текущий символ с другим символом;
  • equals() – сравнить на равенство текущий объект с другим объектом;
  • toString() – получить представление символьного значения как тип String;
  • compare() – сравнить два значения типа char;
  • digit() – вернуть числовое значение символа в заданной системе исчисления;
  • fordigit() – определить символьное представление числа в заданной системе исчисления;
  • isAlphabetic() – определить, является ли символ алфавитным;
  • isDefined() – определяет, определен ли символ в кодировке Unicode;
  • idDigit() – определяет, есть ли символ цифрой;
  • isIdentifierIgnorable() – определяет, нужно ли рассматривать указанный символ как игнорируемый;
  • isLowerCase() – определяет, есть ли заданный символ строчной буквой;
  • isSpace() – определяет, есть ли заданный символ пробелом на основании кодовой страницы ISO-Latin1;
  • isUpperCase() – определяет, является ли заданный символ символом верхнего регистра;
  • isWhiteSpace() – определяет, является ли определенный символ пробелом согласно классификации Java;
  • reverseBytes() – возвращает значение, получаемое реверсированием порядка байт в заданном значении типа char;
  • valueOf() – возвращает экземпляр типа Character, представляющий определенное значение типа char.

Кроме методов, в классе Character определен ряд следующих констант:

  • BYTES – содержит размер типа char в байтах;
  • MAX_RADIX – максимальное основание системы исчисления, доступное для преобразования в строку и обратно;
  • MAX_VALUE – максимально доступное значение типа char;
  • MIN_VALUE – минимально допустимое значение типа char;
  • SIZE – размер типа в битах;
  • TYPE – содержит экземпляр класса типа Class для типа char.

В данной теме рассматриваются базовые методы класса Character. В обзор не включены некоторые методы, которые используют кодовые точки Unicode и переопределяют методы класса Object.

 

3. Метод charValue(). Получить символ типа char

Метод charValue() возвращает символ примитивного типа char, представленный объектом типа Character. Согласно документации Java общая форма объявления этого метода следующая:

public char charValue();

Пример.

// Метод charValue(), char <= Character

// 1. Создать объект типа Character
Character objC = '+';

// 2. Получить символ типа char
char c;
c = objC.charValue();

// 3. Вывести результат
System.out.println(c);

 

4. Метод compareTo(). Сравнить текущий символ с другим символом

Если нужно сравнить текущий символ с некоторым другим символом, то используется метод compareTo(). Синтаксис объявления метода следующий:

public int compareTo(Character anotherCharacter);

здесь anotherCharacter – другой символ, с которым сравнивается символ из текущего экземпляра.

Если символы равны, то функция возвращает 0. Если символ текущего экземпляра меньше символа anotherCharacter, то возвращается значение меньше 0. Термин «меньше» означает, что код символа текущего экземпляра меньше кода символа anotherCharacter. Если код символа текущего экземпляра больше, чем код символа, передаваемый параметром, то функция возвращает значение больше 0.
Фактически, функция возвращает разницу между кодом текущего символа и кодом символа, являющимся входным параметром.

Пример.

// Метод compareTo() - сравнить коды символов

// 1. Создать объект типа Character
Character objC = 'G';

// 2. Сравнить текущий объект с другими символами
int result;
result = objC.compareTo('C'); // result = 4
result = objC.compareTo('G'); // result = 0

Character objC2 = 'F';
result = objC.compareTo(objC2); // result = 1

 

5. Метод toString(). Получить представление символьного значения как String

Метод toString() переопределяет одноименный метод класса Object. Метод позволяет получить строковое представление символа типа char, хранящегося в текущем экземпляре. Длина результирующей строки равна 1. Общая форма объявления метода следующая

public String toString();

Пример.

// Метод toString() - получить представление символьного значения
// как тип String

// 1. Создать объект типа Character
Character objC = '8';

// 2. Вызвать метод toString()
String resStr;
resStr = objC.toString(); // resStr = "8" - строка

 

6. Константа BYTES. Прочитать размер типа

С помощью константы BYTES можно получить размер в байтах значения типа char, представленного в текущем объекте в беззнаковой (unsigned) двоичной норме.
Согласно документации Java, константа объявляется как

public static final int BYTES;

Пример.

// Константа BYTES - получить размер типа char в байтах

// 1. Создать объект типа Character
Character objC = '+';

// 2. Вызвать константу BYTES
int size = objC.BYTES; // size = 2

 

7. Константа MAX_RADIX. Максимальное значение системы исчисления

Константа MAX_RADIX возвращает максимальное значение системы исчисления, доступное для преобразования в строки и наоборот. Согласно документации Java объявления константы имеет вид

public static final int MAX_RADIX;

Пример.

// Константа MAX_RADIX - получить максимальное значение
// системы исчисления

// 1. Создать объект типа Character
Character objC = 'T';

// 2. Вызвать константу MAX_RADIX
int maxR = objC.MAX_RADIX; // maxR = 36

 

8. Константа MAX_VALUE. Максимально-допустимое значение типа char

Константа MAX_VALUE имеет объявление

public static final char MAX_VALUE;

и возвращает максимальное значение типа char, которое равно ‘\uFFFF’.

Пример.

// Константа MAX_VALUE - получить максимальное значение типа char

// 1. Создать объект типа Character
Character objC = 'f';

// 2. Вызвать константу MAX_VALUE
int maxV = objC.MAX_VALUE; // maxV = 65535

 

9. Константа MIN_VALUE. Минимально-допустимое значение типа char

Константа MIN_VALUE возвращает минимально-допустимое значение типа char, которое равно ‘\u0000’. Объявление константы следующее:

public static final char MIN_VALUE;

Пример.

// Константа MIN_VALUE - получить минимальное значение типа char

// 1. Создать объект типа Character
Character objC = 'q';

// 2. Вызвать константу MIN_VALUE
int minV = objC.MIN_VALUE; // minV = 0

 

10. Константа SIZE. Размер типа в битах

С помощью константы SIZE можно определить размер значения типа char в битах, которое равно 16. Объявление константы следующее

public static final int SIZE

Пример.

// Константа SIZE - размер char-значение в битах

// 1. Создать объект типа Character
Character objC = '%';

// 2. Вызвать константу SIZE
int size = objC.SIZE; // size = 16

 

11. Константа TYPE. Тип в классе

Тип, инкапсулированный в классе Character, определен в константе TYPE. Эта константа имеет следующее объявление

public static final Class<Character> TYPE

Пример.

// 1. Вызвать константу TYPE
Class<Character> tp = Character.TYPE; // tp = char

 

12. Статический метод compare(). Сравнить два значення типа char

Метод compare() статический и используется для сравнения любых двух значений типа char. Сравниваются коды этих значений. Общая форма объявления метода следующая:

public static int compare(char x, char y);

Метод возвращает 0, если значения x и y равны.
Метод возвращает значение меньше 0, если x<y. Здесь предполагается сравнение кода символа x с кодом символа y.
Метод возвращает значение больше 0, если x>y. Опять же сравниваются коды символов.
Формула вычисления разницы между x и y следующая:

Character.valueOf(x).compareTo(Character.valueOf(y));

Пример.

// Метод compare() - сравнить коды символов

// 1. Сравнить коды символов, взятых в оболочку Character
Character objC1 = 'k';
Character objC2 = 'm';

// 2. Вызвать метод compare()
int result = Character.compare(objC1, objC2); // result = -2

// 3. Вызов compare() для примитивных типов
char c = 'k';
result = Character.compare(c, objC1); // result = 0
result = Character.compare('8', '4'); // result = 4

 

13. Статический метод digit(). Вернуть числовое значение символа в заданной системе исчисления

Статический метод digit() возвращает значение символа типа char в указанной системе исчисления.

Общая форма объявления метода

public static int digit(char ch, int radix);

здесь

  • ch – символ, который нужно конвертировать в числовое представление;
  • radix – система исчисления. Значение radix должно быть в пределах от MIN_RADIX до MAX_RADIX.

Если значение radix выходит за пределы, то функция возвращает –1.
Если значение символа ch не является стойкой цифрой, то функция возвращает -1. Под устойчивой цифрой подразумевается цифра (или буква), входящая во множество цифр заданной системы счисления radix.

Например, в 16-й системе исчисления имеется следующее множество цифр: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F. Если задать ch=’ K’, то функция вернет –1.

Пример.

// Метод digit() - получить числовое представление символа
// в заданной системе исчисления

// 1. Использование метода для экземпляра типа Character
Character objC = '8';

// Число 8 в десятичной системе исчисления
int res = Character.digit(objC, 10); // res = 8

// Число 8 в десятичной системе исчисления
res = Character.digit(objC, 2); // res = -1 - это ошибка

// 2. Использование метода для типа char
// Число 5 в системе исчисления с основанием 7
res = Character.digit('5', 7); // res = 5

// Число F в системе исчисления с основанием 16
res = Character.digit('F', 16); // res = 15

// Число F в системе исчисления с основанием 10
res = Character.digit('F', 10); // res = -1 - ошибка

 

14. Статический метод forDigit(). Определить символьное представление числа в заданной системе исчисления

Данный метод позволяет получить символ на основе его числового представления в заданной системе счисления. Метод выполняет обратную функцию по отношению к методу digit().

Общая форма объявления метода

public static char forDigit(int digit, int radix);

здесь

  • digit – целое число, что есть значением в системе счисления radix;
  • radix – система исчисления, в которой конвертируется число digit в результирующий символ

Значение radix должно быть в пределах от MIN_RADIX до MAX_RADIX.
Если число digit не входит во множество символов системы исчисления radix, то возвращается нулевое значение ‘\u0000’. Такой же возврат из функции, если значение radix некорректно.

Пример.

// Метод forDigit() - получить символьное представление числа
// в заданной системе исчисления

// Число 10 в системе исчисления с основанием 12
char symbol = Character.forDigit(10, 12); // symbol = 'a'

// Число 15 в системе исчисления с основанием 16
symbol = Character.forDigit(15, 16); // symbol = 'f'

// Число 8 в системе исчислення 3
symbol = Character.forDigit(8, 3); // symbol = '\u0000' - ошибка

// Число 12 в системе исчисления с основанием 10
symbol = Character.forDigit(12, 10); // symbol = '\u0000' - помилка

// Число 3 в системе исчисления с основанием 10
symbol = Character.forDigit(3, 10); // symbol = '3'

 

15. Метод reverseBytes(). Реверсировать байты в значении типа char

Статический метод reverseBytes() возвращает входящее значение char, в котором байты представлены в обратном порядке. Согласно документации Java объявление метода следующее

public static char reverseBytes(char ch);

здеь

  • ch – значение, байты которого нужно представить в обратном порядке.

Пример.

// Метод reverseBytes() - получить обратное значение типа char
char c1 = '\u3800';
char c2 = Character.reverseBytes(c1); // c2 = '\u0038' = '8'
System.out.println("c2 = " + c2); // c2 = 8

 

16. Метод valueOf(). Получить экземпляр типа Character

Метод valueOf() возвращает экземпляр типа Character на основе значения типа char. Общий синтаксис объявления метода:

public static Character valueOf(char c)

здесь

  • c – символ, который нужно обернуть в оболочку типа Character.

Пример.

// Метод valueOf() - получить экземпляр типа Character
Character objC = Character.valueOf('x');
char ch = objC.charValue(); // ch = 'x'

 


Связанные темы