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.");