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

Демонстрационное Использование

Эта страница содержит некоторые фрагменты кода, которые показывают Вам несколько commono сценариев.

Создание a String от Кодовой точки

String newString(int codePoint) {
    return new String(Character.toChars(codePoint));
}

Создание a String от Кодовой точки - Оптимизированный для Символов BMP

Character.toChars метод создает временный массив, который используется однажды и затем отбрасывается. Если это негативно влияет на производительность, можно использовать следующий подход, который является optimizied для символов BMP (символы, которые представляются синглом char значение). В этом методе, toChars вызывается только для дополнительных символов.

String newString(int codePoint) {
    if (Character.charCount(codePoint) == 1) {
        return String.valueOf(codePoint);
    } else {
        return new String(Character.toChars(codePoint));
    }
}

Создание String Объекты оптом

Чтобы создать большое количество строк, объемная версия предыдущего отрывка снова использует массив, используемый toChars метод. Этот метод создает отдельное String экземпляр для каждой кодовой точки и оптимизируется для символов BMP.

String[] newStrings(int[] codePoints) {
    String[] result = new String[codePoints.length];
    char[] codeUnits = new char[2];
    for (int i = 0; i < codePoints.length; i++) {
        int count = Character.toChars(codePoints[i], codeUnits, 0);
        result[i] = new String(codeUnits, 0, count);
    }
    return result;
}

Генерирование сообщений

API форматирования поддерживает дополнительные символы. Следующий пример является простым способом генерировать сообщение.

// recommended
System.out.printf("Character %c is invalid.%n", codePoint);

Этот после подхода прост и избегает связи, которая делает текст более трудным локализовать как не, все языки вставляют числовые значения в строку в том же самом порядке как английский язык.

// not recommended
System.out.println("Character " + String.valueOf(char) + " is invalid.");

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

Предыдущая страница: Символ и Строковые API
Следующая страница: Конструктивные соображения