"Hallo, Amigo! Ik ben het weer. Ik wil je graag vertellen over een andere vrij eenvoudige wikkelklasse. Vandaag hebben we het over Character, de wikkel voor char."
"Deze les is ook vrij eenvoudig."
Code
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;
}
}
"Het heeft het volgende:"
1) Een constructor die de interne waarde neemt en een charValue-methode die deze retourneert.
2) Een valueOf-methode die Character-objecten retourneert, maar objecten met waarden van 0 tot 127 in de cache opslaat. Net als Integer, Short en Byte.
3) hashCode() en is gelijk aan methoden — nogmaals, er is hier niets verrassends.
"En het heeft tal van andere handige methoden (hierboven niet weergegeven). Ik zal er hier een paar voor je opsommen:"
Methode | Beschrijving |
---|---|
|
Is het personage een Unicode-teken? |
|
Is het teken een cijfer? |
|
Is het personage een controlekarakter? |
|
Is het personage een letter? |
|
Is het teken een letter of een cijfer? |
|
Is dit een kleine letter? |
|
Is dit een hoofdletter? |
|
Is het karakter een spatie of iets dergelijks (er zijn veel onzichtbare karakters)? |
|
Is het personage een hoofdletterteken? |
'Dank je, Kim. Ik denk dat sommige van deze methoden nuttig voor me zullen zijn.'
GO TO FULL VERSION