АКЦИЯ: бесплатные месячные курсы по созданию сайтов
на выбор: верстка, JavaScript, PHP, Python или фреймворки. Сегодня последний день для записи! Жми!
572 of 1310 menu
В течении недели будет ОБНОВЛЕНИЕ УЧЕБНИКОВ PHP. Поменяется структура! Подробнее по ссылке.

Функция codePoints

Функция codePoints возвращает поток кодовых точек IntStream, содержащихся в текущей строке StringBuilder. Кодовые точки представляют собой числовые значения символов Unicode, включая символы за пределами базовой многоязыковой плоскости (BMP), которые требуют двух char для представления (суррогатные пары).

Синтаксис

fun codePoints(): IntStream

Пример

Получим поток кодовых точек из StringBuilder:

val sb = StringBuilder("Hello") val codePointsStream = sb.codePoints() codePointsStream.forEach { println(it) }

Результат выполнения кода:

Int 72 Int 101 Int 108 Int 108 Int 111

Пример

Работа с символами Unicode за пределами BMP:

val sb = StringBuilder("A𐐀B") val codePoints = sb.codePoints().toArray() println("Code points count: " + codePoints.size) codePoints.forEach { println("U+" + it.toString(16).uppercase() + " : " + it) }

Результат выполнения кода:

Code points count: 3 U+41 : 65 U+10400 : 66560 U+42 : 66

Пример

Сравнение с функцией chars:

val sb = StringBuilder("A𐐀B") val charsCount = sb.chars().count() val codePointsCount = sb.codePoints().count() println("Chars count: " + charsCount) println("Code points count: " + codePointsCount)

Результат выполнения кода:

Chars count: 4 Code points count: 3

Смотрите также

  • функцию chars,
    которая возвращает поток кодовых единиц char
  • функцию length,
    которая возвращает длину строки в символах
  • функцию toString,
    которая преобразует StringBuilder в строку
  • функцию append,
    которая добавляет содержимое в конец StringBuilder