— Привіт, Аміго! Це знову я. Хотіла тобі розповісти ще про один досить простий клас-обертку. Сьогодні йтиметься про Character – обгортка над char.
Код
class Character
{
private final char value;
Character(char value)
{
this.value = value;
}
public char charValue()
{
return value;
}
static final Character cache[] = new Character[127 + 1];
public static Character valueOf(char c)
{
if (c <= 127)
return cache[(int)c];
return new Character(c);
}
public int hashCode()
{
return (int)value;
}
public boolean equals(Object obj)
{
if (obj instanceof Character)
{
return value == ((Character)obj).charValue();
}
return false;
}
}
У ньому є:
1) Конструктор, який набуває внутрішнього значення та методу charValue, який його повертає.
2) Метод valueOf, який повертає нові об'єкти Character, але кешує об'єкти зі значеннями від 0 до 127. Як у Integer, Short та Byte.
3) Методи hashCode() & equals – тут нас теж нічим не здивуєш.
А ще в ньому є багато корисних методів (не показано вище). Деякі з них я зараз перерахую:
Метод | Опис |
---|---|
|
Чи є символ символом Unicode? |
|
Чи є символ цифрою? |
|
Чи є символ керуючим? |
|
Чи є символ буквою? |
|
Чи є символ буквою чи цифрою? |
|
Це символ у нижньому регістрі (маленька літера)? |
|
Це символ у верхньому регістрі (велика літера)? |
|
Чи є символ пробілом або його аналогом (є багато невидимих символів)? |
|
Чи є символ титульним? |
— Дякую, Кім, думаю, деякі з цих методів мені знадобляться.
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ