— Привет, Амиго! Это снова я. Хотела тебе рассказать еще об одном достаточно простом классе-обёртке. Сегодня речь пойдет о 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? |
|
Является ли символ цифрой? |
|
Является ли символ управляющим? |
|
Является ли символ буквой? |
|
Является ли символ буквой или цифрой? |
|
Это символ в нижнем регистре (строчная буква)? |
|
Это символ в верхнем регистре (заглавная буква)? |
|
Является ли символ пробелом или его аналогом (есть много невидимых символов)? |
|
Является ли символ титульным? |
— Спасибо, Ким, думаю, некоторые из этих методов мне точно пригодятся.