"Olá, amigo! Sou eu de novo. Gostaria de falar sobre outra classe wrapper bastante simples. Hoje falaremos sobre Character, o wrapper para char."
"Esta classe também é bastante simples."
Código
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;
}
}
"Tem o seguinte:"
1) Um construtor que recebe o valor interno e um método charValue que o retorna.
2) Um método valueOf que retorna objetos Character, mas armazena em cache objetos com valores de 0 a 127. Assim como Integer, Short e Byte.
3) métodos hashCode() e equals — novamente, não há nada de surpreendente aqui.
"E tem muitos outros métodos úteis (não mostrados acima). Vou listar alguns para você aqui:"
Método | Descrição |
---|---|
|
O caractere é um caractere Unicode? |
|
O caractere é um dígito? |
|
O personagem é um personagem de controle? |
|
O caractere é uma letra? |
|
O caractere é uma letra ou um dígito? |
|
Isso é uma letra minúscula? |
|
Isso é uma letra maiúscula? |
|
O personagem é um espaço ou algo parecido (existem muitos personagens invisíveis)? |
|
O caractere é um caractere de caixa de título? |
"Obrigado, Kim. Acho que alguns desses métodos serão úteis para mim."
GO TO FULL VERSION