Класс Character

 

В этом классе собраны статические константы и методы для работы с отдельными символами.

Статический метод

digit(char ch, in radix)

переводит цифру ch системы счисления с основанием radix в ее числовое значение типа int .

Статический метод

forDigit(int digit, int radix)

производит обратное преобразование целого числа digit в соответствующую цифру (тип char ) в системе счисления с основанием radix .

Основание системы счисления должно находиться в диапазоне от Character.MIN_RADIX до Character.MAX_RADIX.

Метод tostring() переводит символ, содержащийся в классе, в строку с тем же символом.

Статические методы toLowerCase() , touppercase(), toTitieCase() возвращают символ, содержащийся в классе, в указанном регистре. Последний из этих методов предназначен для правильного перевода в верхний регистр четырех кодов Unicode, не выражающихся одним символом.

Множество статических логических методов проверяют различные характеристики символа, переданного в качестве аргумента метода:

  • isDef ined() — выясняет, определен ли символ в кодировке Unicode; 
  • isDigit() — проверяет, является ли символ цифрой Unicode;
  • isidentifierignorable() — выясняет, нельзя ли использовать символ в идентификаторах;
  • isisocontroi() — определяет, является ли символ управляющим;
  • isJavaidentifierPart() — выясняет, можно ли использовать символ в идентификаторах;
  • isjavaidentifierstart() — определяет, может ли символ начинать идентификатор;
  • isLetter() — проверяет, является ли символ буквой Java;
  • IsLetterOrDigit() — Проверяет, является ли символ буквой или цифрой Unicode;
  • isLowerCase() — определяет, записан ли символ в нижнем регистре; 
  • isSpaceChar() — выясняет, является ли символ пробелом в смысле Unicode; 
  • isTitieCase() — проверяет, является ли символ титульным;
  • isUnicodeldentifierPart() — выясняет, можно ли использовать символ в именах Unicode;
  • isunicodeidentifierstart() — проверяет, является ли символ буквой Unicode; 
  • isUpperCase() — проверяет, записан ли символ в верхнем регистре; 
  • isWhitespace() — выясняет, является ли символ пробельным.

Точные диапазоны управляющих символов, понятия верхнего и нижнего регистра, титульного символа, пробельных символов, лучше всего посмотреть по документации Java API.

Листинг 4.2 демонстрирует использование этих методов.

 

Листинг 4.2. Методы класса Character в программе CharacterTest 

class CharacterTest{

  public static void main(String[] args){ 

  char ch = ‘9’;

  Character cl = new Character(ch); 

  System.out.println(«ch = » + ch);

  System.out.println(«cl.charValue() = » +

     c1.charValue()); 

  System.out.println(«number of ‘A’ = » +

     Character.digit(‘A’, 16}}; 

  System.out.println(«digit for 12 = » +

     Character.forDigit(12, 16}}; 

  System.out.printlnC’cl = » + cl.toString() ); 

  System.out.println(«ch isDefined? » +

     Character.isDefined(ch)); 

  System.out.println(«ch isDigit? » +

     Character.isDigit(ch)); 

  System.out.println(«ch isldentifierlgnorable? » +

     Character.isldentifierlgnorable(ch)); 

  System.out.println(«ch isISOControl? » +

     Character.isISOControl(ch)); 

  System.out.println(«ch isJavaldentifierPart? » +

     Character.isJavaldentifierPart(ch)); 

  System.out.println(«ch isJavaldentifierStart? » +

     Character.isJavaldentifierStart(ch)); 

  System.out.println(«ch isLetter? » +

     Character.isLetter(ch)); 

  System.out.println(«ch isLetterOrDigit? » +

     Character.isLetterOrDigit(ch)); 

  System.out.println(«ch isLowerCase? » +

     Character.isLowerCase(ch)); 

  System.out.println(«ch isSpaceChar? » +

     Character.isSpaceChar(ch)); 

  System.out.println(«ch isTitleCase? » +

     Character.isTitleCase(ch)); 

  System.out.println(«ch isUnicodeldentifierPart? » +

     Character.isUnicodeldentifierPart(ch)); 

  System.out.println(«ch isUnicodeldentifierStart? » +

     Character.isUnicodeldentifierStart(ch)); 

  System.out.println(«ch isUpperCase? » +

     Character.isUpperCase(ch)); 

  System.out.println(«ch isWhitespace? » +

     Character.isWhitespace(ch)); } }

В класс Character вложены классы Subset и UnicodeBlock , причем класс Unicode и еще один класс, inputSubset , являются расширениями класса Subset. Объекты этого класса содержат подмножества Unicode.

Вместе с классами-оболочками удобно рассмотреть два класса для работы со сколь угодно большими числами.