如何使用Lambda函数设计Java';s有符号字节?

如何使用Lambda函数设计Java';s有符号字节?,java,lambda,type-conversion,Java,Lambda,Type Conversion,从中扩展,是否可以在没有使用Lambdas的笨拙for循环的情况下更优雅地执行此操作?所以 有符号的byte[]->无符号的int[] 我注意到没有数组.stream(byte[])当然,您可以: int[] unsigned = IntStream.range(0, signed.length) .map(i -> signed[i] & 0xFF) .toArray();

从中扩展,是否可以在没有使用Lambdas的笨拙for循环的情况下更优雅地执行此操作?所以

有符号的
byte[]
->无符号的
int[]

我注意到没有数组.stream(byte[])当然,您可以:

int[] unsigned = IntStream.range(0, signed.length)
                          .map(i -> signed[i] & 0xFF)
                          .toArray();

其中signed表示字节数组。

是的,您可以使用
IntStream
实现它:

public static int[] toUnsignedIntArray(byte[] array) {
    return IntStream.range(0, array.length)
                    .map(idx -> array[idx] &  & 0xFF)
                    .toArray();
}

有关详细信息,请参阅。

您可以这样做

int[] unsigned = IntStream.range(0, bytes.length)
                          .map(i -> 0x7F & bytes[i])
                          .toArray();
Java有一个独特的功能。老实说,我认为
Stream
有点过分,而
for
循环更优雅。