Karakter

Java Multithreading
Niveau 9 , Les 8
Beschikbaar

"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
boolean isDefined(char)
Is het personage een Unicode-teken?
boolean isDigit(char)
Is het teken een cijfer?
boolean isISOControl(char)
Is het personage een controlekarakter?
boolean isLetter(char)
Is het personage een letter?
boolean isJavaLetterOrDigit()
Is het teken een letter of een cijfer?
boolean isLowerCase(char)
Is dit een kleine letter?
boolean isUpperCase(char)
Is dit een hoofdletter?
boolean isSpaceChar(char)
Is het karakter een spatie of iets dergelijks (er zijn veel onzichtbare karakters)?
boolean isTitleCase(char)
Is het personage een hoofdletterteken?

'Dank je, Kim. Ik denk dat sommige van deze methoden nuttig voor me zullen zijn.'

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