首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >飞镖颤振Uint8List

飞镖颤振Uint8List
EN

Stack Overflow用户
提问于 2022-05-25 09:54:09
回答 2查看 506关注 0票数 1

为什么对.reversed实例的Uint8List调用不以相反的字节顺序返回Uint8List的实例。是否有什么逻辑上的原因不能以相反的字节顺序返回一个Uint8List?

代码语言:javascript
复制
Uint8List uint8List = Uint8List(20); //20 byte array

Uint8List reversed =  uint8List.reversed; //error not returning Uint8List
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-05-25 09:57:32

因为reversed属性是从Uint8List的超类List继承的(从技术上讲是从Iterable继承的,后者是List的超类)。

因为reversedIterable的一部分,所以它返回Iterable而不是Uint8List。当然,您可以简单地将其转换为列表。

代码语言:javascript
复制
Uint8List reverseUint8List(Uint8List list) {
  return Uint8List.fromList(list.reversed.toList());
}

长话短说,这是为了防止在每个Iterable的实现中重复99%的Iterable代码,虽然它对输出没有意义(反向列表不能突然变成队列/集/任何东西),但在实现上是有意义的,因为这些数据类型在这方面都是相似的。

票数 2
EN

Stack Overflow用户

发布于 2022-05-25 09:56:11

你必须用这个:

代码语言:javascript
复制
uint8List.reversed.toList()

因为reversed返回一个Iterable

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72375460

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档