"Hei, Amigo! Det er meg igjen. Jeg vil gjerne fortelle deg om en annen ganske enkel innpakningsklasse. I dag skal vi snakke om Character, innpakningen for røye."
"Denne klassen er også ganske enkel."
Kode
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;
}
}
"Den har følgende:"
1) En konstruktør som tar den interne verdien og en charValue-metode som returnerer den.
2) En valueOf-metode som returnerer Character-objekter, men cacher objekter med verdier fra 0 til 127. Akkurat som Integer, Short og Byte.
3) hashCode() og lik metoder - igjen, det er ingenting overraskende her.
"Og den har mange andre nyttige metoder (ikke vist ovenfor). Jeg skal liste opp noen for deg her:"
Metode | Beskrivelse |
---|---|
|
Er tegnet et Unicode-tegn? |
|
Er tegnet et siffer? |
|
Er karakteren en kontrollkarakter? |
|
Er tegnet en bokstav? |
|
Er tegnet en bokstav eller et siffer? |
|
Er dette en liten bokstav? |
|
Er dette en stor bokstav? |
|
Er karakteren et mellomrom eller noe lignende (det er mange usynlige tegn)? |
|
Er karakteren en tittelform? |
"Takk, Kim. Jeg tror noen av disse metodene vil være nyttige for meg."
GO TO FULL VERSION