"Ciao, Amigo! Sono di nuovo io. Vorrei parlarti di un'altra classe wrapper abbastanza semplice. Oggi parleremo di Character, il wrapper per char."
"Anche questa classe è abbastanza semplice."
Codice
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;
}
}
"Ha quanto segue:"
1) Un costruttore che accetta il valore interno e un metodo charValue che lo restituisce.
2) Un metodo valueOf che restituisce oggetti Character, ma memorizza nella cache oggetti con valori da 0 a 127. Proprio come Integer, Short e Byte.
3) metodi hashCode() e equals — ancora una volta, non c'è nulla di sorprendente qui.
"E ha molti altri metodi utili (non mostrati sopra). Ne elencherò alcuni per te qui:"
Metodo | Descrizione |
---|---|
|
Il carattere è un carattere Unicode? |
|
Il carattere è una cifra? |
|
Il personaggio è un personaggio di controllo? |
|
Il carattere è una lettera? |
|
Il carattere è una lettera o una cifra? |
|
È una lettera minuscola? |
|
È una lettera maiuscola? |
|
Il carattere è uno spazio o qualcosa di simile (ci sono molti caratteri invisibili)? |
|
Il personaggio è un personaggio titlecase? |
"Grazie, Kim. Penso che alcuni di questi metodi mi saranno utili."
GO TO FULL VERSION