Метод codePoints
Метод codePoints возвращает поток целых чисел
(IntStream), представляющих Unicode коды
всех символов строки. Метод не принимает параметров.
Этот метод особенно полезен при работе со строками,
содержащими символы за пределами базовой
многоязычной плоскости (BMP), которые занимают
более одного char.
Синтаксис
str.codePoints()
Пример
Давайте получим поток кодов символов строки и выведем их в консоль:
public class Main
{
public static void main(String[] args)
{
String str = "abcde";
str.codePoints().forEach(System.out::println);
}
}
Результат выполнения кода:
97
98
99
100
101
Пример
Давайте получим массив кодов символов строки
с помощью метода toArray:
import java.util.Arrays;
public class Main
{
public static void main(String[] args)
{
String str = "12345";
int[] res = str.codePoints().toArray();
System.out.println(Arrays.toString(res));
}
}
Результат выполнения кода:
[49, 50, 51, 52, 53]
Пример
Давайте преобразуем поток кодов обратно
в строку с помощью collect и StringBuilder:
import java.util.stream.Collectors;
public class Main
{
public static void main(String[] args)
{
String str = "abcde";
String res = str.codePoints()
.mapToObj(c -> String.valueOf((char) c))
.collect(Collectors.joining());
System.out.println(res);
}
}
Результат выполнения кода:
"abcde"
Смотрите также
-
метод
codePointAt,
который возвращает код символа по индексу -
метод
chars,
который возвращает поток значений char -
метод
charAt,
который возвращает символ по индексу -
метод
length,
который возвращает длину строки