Karakter

Java Multithreading
Niveau , Lektie
Ledig

"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
boolean isDefined(char)
Er tegnet et Unicode-tegn?
boolean isDigit(char)
Er tegnet et ciffer?
boolean isISOControl(char)
Er karakteren en kontrolkarakter?
boolean isLetter(char)
Er karakteren et bogstav?
boolean isJavaLetterOrDigit()
Er tegnet et bogstav eller et ciffer?
boolean isLowerCase(char)
Er dette et lille bogstav?
boolean isUpperCase(char)
Er dette et stort bogstav?
boolean isSpaceChar(char)
Er karakteren et mellemrum eller noget lignende (der er masser af usynlige tegn)?
boolean isTitleCase(char)
Er karakteren en hovedbogstav?

"Tak, Kim. Jeg tror, ​​nogle af disse metoder vil være nyttige for mig."

Kommentarer
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION