"안녕, 아미고! 또 나야. 아주 간단한 또 ​​다른 래퍼 클래스에 대해 이야기하고 싶다. 오늘 우리는 char의 래퍼인 Character에 대해 이야기할 것이다."

"이 수업도 꽤 간단합니다."

암호
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;
 }
}

"다음이 있습니다."

1) 내부 값을 받는 생성자와 이를 반환하는 charValue 메서드.

2) Character 개체를 반환하지만 0에서 127까지의 값을 가진 개체를 캐시하는 valueOf 메서드입니다. Integer, Short 및 Byte와 같습니다.

3) hashCode() 및 equals 메서드 — 다시 말하지만 여기에는 놀라운 것이 없습니다.

"그리고 여기에는 다른 유용한 방법이 많이 있습니다(위에 표시되지 않음). 여기에 몇 가지를 나열하겠습니다."

방법 설명
boolean isDefined(char)
문자가 유니코드 문자입니까?
boolean isDigit(char)
문자가 숫자인가요?
boolean isISOControl(char)
캐릭터가 제어 캐릭터입니까?
boolean isLetter(char)
캐릭터가 문자인가요?
boolean isJavaLetterOrDigit()
문자가 문자입니까 아니면 숫자입니까?
boolean isLowerCase(char)
소문자인가요?
boolean isUpperCase(char)
대문자인가요?
boolean isSpaceChar(char)
문자가 공백입니까 아니면 이와 유사한 것입니까(보이지 않는 문자가 많이 있음)?
boolean isTitleCase(char)
캐릭터가 타이틀 케이스 캐릭터입니까?

"고마워, 킴. 이 방법들 중 일부는 나에게 유용할 것 같아."