如何使用Lambda函数设计Java';s有符号字节?
从中扩展,是否可以在没有使用Lambdas的笨拙for循环的情况下更优雅地执行此操作?所以 有符号的如何使用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();
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
循环更优雅。