Страницы

Поиск по вопросам

среда, 14 ноября 2018 г.

char[] в Character[]

Как перевести массив char[] к его оболочке Character[] для дальнейшей сортировки в обратном порядке? Делаю по аналогии как с int -> Integer:
int[] array = {...}; Integer[] newArray = Arrays.stream(array).boxed().toArray(Integer[]::new); Arrays.sort(newArray, Collections.reverseOrder());
Но с char так не работает:
Character[] newArray = Arrays.stream(array).boxed().toArray(Character[]::new); Arrays.sort(newArray, Collections.reverseOrder());


Ответ

Да, для примитивов char есть такая проблема. Можно например так её решить:
char[] array = {'a','c','b'}; Character[] newArray = IntStream.range(0, array.length) .mapToObj(i -> array[i]) .toArray(Character[]::new); Arrays.sort(newArray, Collections.reverseOrder());
c, b, a

Комментариев нет:

Отправить комментарий