Spec-Zone .ru
спецификации, руководства, описания, API
След: Интернационализация
Урок: Работа с текстом
Раздел: Unicode
Символ и Строковые API
Домашняя страница > Интернационализация > Работа с текстом

Символ и Строковые API

Character class инкапсулирует char тип данных. Для выпуска 5 J2SE много методов были добавлены к Character class, чтобы поддерживать дополнительные символы. Этот API попадает в две категории: методы, которые преобразовывают между char и значения кодовой точки и методы, что verifiy законность или кодовые точки карты.

Этот раздел описывает подмножество доступных методов в Character class. Для полного списка доступных API см. Character Спецификация class.

Методы преобразования и Класс символов

Следующая таблица включает самые полезные методы преобразования, или методы, которые облегчают преобразование, в Character class. codePointAt и codePointBefore методы включаются в этот список, потому что текст обычно находится в последовательности, такой как a String, и эти методы могут использоваться, чтобы извлечь требуемую подстроку.

Метод (ы) Описание
toChars(int codePoint, char[] dst, int dstIndex)
toChars(int codePoint)
Преобразовывает указанную кодовую точку Unicode в ее представление UTF-16 и помещает это в a char массив. Демонстрационное использование: Character.toChars(0x10400)
toCodePoint(char high, char low)
toCodePoint(CharSequence, int)
toCodePoint(char[], int, int)
Преобразовывает указанные параметры в его дополнительное значение кодовой точки. Различные методы принимают различные входные форматы.
codePointAt(char[] a, int index)
codePointAt(char[] a, int index, int limit)
codePointAt(CharSequence seq, int index)
Возвращается кодовая точка Unicode в указанном индексируют. Третий метод берет a CharSequence и второй метод осуществляет верхний предел индексирования.
codePointBefore(char[] a, int index)
codePointBefore(char[] a, int index, int start)
codePointBefore(CharSequence seq, int index)
codePointBefore(char[], int, int)
Возвращает кодовую точку Unicode прежде, чем указанные индексируют. Третий метод принимает a CharSequence и другие методы принимают a char массив. Второй метод осуществляет более низкий предел на индексировании.
charCount(int codePoint) Возвращает значение 1 для символов, которые могут быть представлены синглом char. Возвращает значение 2 для дополнительных символов, которые требуют два chars.

Проверка и Отображающиеся Методы в Классе символов

Некоторые из предыдущих методов, которые использовали char примитивный тип данных, такой как isLowerCase(char) и isDigit(char), вытеснялись методами, которые поддерживают дополнительные символы, такой как isLowerCase(int) и isDigit(int). Предыдущие методы поддерживаются, но не работают с дополнительными символами. Чтобы создать глобальное приложение и гарантировать, что Ваш код работает легко с любым языком, рекомендуется, чтобы Вы использовали более новые формы этих методов.

Отметьте, что по причинам производительности большинство методов, которые принимают кодовую точку, не проверяет законность параметра кодовой точки. Можно использовать isValidCodePoint метод с этой целью.

Следующая таблица приводит часть проверки и отображающихся методов в Character class.

Метод (ы) Описание
isValidCodePoint(int codePoint) Возвращает true, если кодовая точка в пределах диапазона 0x0000 к 0x10FFFF, включительно.
isSupplementaryCodePoint(int codePoint) Возвращает true, если кодовая точка в пределах диапазона 0x10000 к 0x10FFFF, включительно.
isHighSurrogate(char) Возвращает true если указанное char в пределах высокого суррогатного диапазона \uD800 к \uDBFF, включительно.
isLowSurrogate(char) Возвращает true если указанное char в пределах низкого суррогатного диапазона \uDC00 к \uDFFF, включительно.
isSurrogatePair(char high, char low) Возвращает true, если указанные высокие и низкие суррогатные кодовые обозначения представляют допустимую суррогатную пару.
codePointCount(CharSequence, int, int)
codePointCount(char[], int, int)
Возвращает число кодовых точек Unicode в CharSequence, или char массив.
isLowerCase(int)
isUpperCase(int)
Возвращает true, если указанная кодовая точка Unicode является символом нижнего регистра или символом верхнего регистра.
isDefined(int) Возвращает true, если указанная кодовая точка Unicode определяется в стандарте Unicode.
isJavaIdentifierStart(char)
isJavaIdentifierStart(int)
Возвращает true, если указанная кодовая точка символа или Unicode допустима как первый символ в идентификаторе Java.
isLetter(int)
isDigit(int)
isLetterOrDigit(int)
Возвращает true, если указанная кодовая точка Unicode является буквой, цифрой, или буквой или цифрой.
getDirectionality(int) Возвращает свойство направленности Unicode для данной кодовой точки Unicode.
Character.UnicodeBlock.of(int codePoint) Возвращает объект, представляющий блок Unicode, который содержит данную кодовую точку Unicode или возвраты null если кодовая точка не является элементом определенного блока.

Методы в Строковых классах

String, StringBuffer, и StringBuilder у классов также есть contructors и методы, которые работают с дополнительными символами. Следующая таблица приводит некоторые из обычно используемых методов. Для полного списка доступных API см. javadoc для String, StringBuffer, и StringBuilder классы.

Конструктор или Методы Описание
String(int[] codePoints, int offset, int count) Выделяет новое String экземпляр, который содержит символы от подмассива массива кодовой точки Unicode.
String.codePointAt(int index)
StringBuffer.codePointAt(int index)
StringBuilder.codePointAt(int index)
Возвращается кодовая точка Unicode в указанном индексируют.
String.codePointBefore(int index)
StringBuffer.codePointBefore(int index)
StringBuilder.codePointBefore(int index)
Возвращает кодовую точку Unicode прежде, чем указанные индексируют.
String.codePointCount(int beginIndex, int endIndex)
StringBuffer.codePointCount(int beginIndex, int endIndex)
StringBuilder.codePointCount(int beginIndex, int endIndex)
Возвращает число кодовых точек Unicode в указанном диапазоне.
StringBuffer.appendCodePoint(int codePoint)
StringBuilder.appendCodePoint(int codePoint)
Добавляет строковое представление указанной кодовой точки к последовательности.
String.offsetByCodePoints(int index, int codePointOffset)
StringBuffer.offsetByCodePoints(int index, int codePointOffset)
StringBuilder.offsetByCodePoints(int index, int codePointOffset)
Возвращает индексирование, которое смещается от данного, индексируют данным числом кодовых точек.

Проблемы с примерами? Попытайтесь Компилировать и Выполнить Примеры: FAQ.
Жалобы? Поздравление? Предложения? Дайте нам свою обратную связь.

Предыдущая страница: Дополнительные Символы как Заместители
Следующая страница: Демонстрационное Использование