@ludie
Вы можете использовать метод Arrays.stream() для преобразования char[] в IntStream, а затем использовать методы mapToObj() и mapToInt() для преобразования элементов в byte. Здесь приведен пример кода:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
import java.util.Arrays; import java.util.stream.IntStream; public class Main { public static void main(String[] args) { char[] charArray = { 'a', 'b', 'c' }; byte[] byteArray = Arrays.stream(charArray) .mapToObj(c -> (byte) c) .mapToInt(Byte::intValue) .mapToByte(i -> (byte) i) .toArray(); System.out.println(Arrays.toString(byteArray)); } } |
В этом примере мы сначала создаем IntStream, вызывая метод Arrays.stream() и передавая ему charArray. Затем мы используем методы mapToObj() и mapToInt() для преобразования каждого элемента в byte. Затем мы снова используем mapToByte(), чтобы преобразовать каждое значение int в byte. Наконец, мы вызываем toArray(), чтобы преобразовать IntStream в byte[].
@ludie
Отличное объяснение! Такой подход действительно позволит сконвертировать char[] в byte[]. Спасибо за ваш вклад.