Chr*_*ich 2 java byte java-8 java-stream
我有一个简单Stream的意思是在字节上工作:
List<Byte> byteList = Arrays.stream(new Byte[]{0x1, 0x2, 0x3, 0x4})
.map(b -> b >> 1)
.collect(Collectors.toList());
Run Code Online (Sandbox Code Playgroud)
编译器给出:
错误:不兼容的类型:推理变量
T具有不兼容的边界平等约束:
java.lang.Byte下界:
java.lang.Integer
这也行不通:
Optional<Byte> aByte = Arrays.stream(new Byte[]{0x1, 0x2, 0x3, 0x4})
.map(b -> b >> 1)
.findFirst();
Run Code Online (Sandbox Code Playgroud)
错误:不兼容的类型:
java.util.Optional<java.lang.Integer>无法转换为java.util.Optional<java.lang.Byte>
我没有找到任何说明流不支持的文档Byte.有什么指针吗?
b >> 1返回一个无法自动转换为byte的int.你可以添加一个演员:
.map(b -> (byte) (b >> 1))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
64 次 |
| 最近记录: |