"Hej, Amigo! Det er mig igen. Jeg vil gerne fortælle dig om en anden ret simpel indpakningsklasse. I dag skal vi tale om Character, indpakningen til char."
"Denne klasse er også ret 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, der tager den interne værdi og en charValue-metode, der returnerer den.
2) En valueOf-metode, der returnerer Character-objekter, men cacher objekter med værdier fra 0 til 127. Ligesom Integer, Short og Byte.
3) hashCode() og er lig med metoder - igen, der er ikke noget overraskende her.
"Og det har masser af andre nyttige metoder (ikke vist ovenfor). Jeg vil liste et par stykker for dig her:"
Metode | Beskrivelse |
---|---|
|
Er tegnet et Unicode-tegn? |
|
Er tegnet et ciffer? |
|
Er karakteren en kontrolkarakter? |
|
Er karakteren et bogstav? |
|
Er tegnet et bogstav eller et ciffer? |
|
Er dette et lille bogstav? |
|
Er dette et stort bogstav? |
|
Er karakteren et mellemrum eller noget lignende (der er masser af usynlige tegn)? |
|
Er karakteren en hovedbogstav? |
"Tak, Kim. Jeg tror, nogle af disse metoder vil være nyttige for mig."
GO TO FULL VERSION