|
Spec-Zone .ru
спецификации, руководства, описания, API
|
Эта страница содержит некоторые фрагменты кода, которые показывают Вам несколько commono сценариев.
String от Кодовой точки
String newString(int codePoint) {
return new String(Character.toChars(codePoint));
}
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.");