gpt4 book ai didi

java - 类型 'List' 不是类型转换中类型 'List<>' 的子类型

转载 作者:行者123 更新时间:2023-12-05 00:02:23 25 4
gpt4 key购买 nike

我想做的是在 Flutter 和 Android 之间进行通信。为此,我使用 EventChannel 和 MethodChannel。由于编解码器的限制,我需要在将 Android 数据发送到 Flutter 之前将其包装在 HashMap 中。在 Flutter 方面,我试图将其解包以显示在简单的 ListView 中。但是,我无法弄清楚的类型转换问题

factory BLEService.fromMap(Map<String, dynamic> map) => BLEService(
map['uuid'] as String,
(map['characteristics'] as List<BLECharacteristic>)
.map<BLECharacteristic>((e) =>
BLECharacteristic.fromMap(e as Map<String, BLECharacteristic>)
).toList()
);
对于这一行,将引发以下异常: type 'List<Object?>' is not a subtype of type 'List<BLECharacteristic>' in type cast帮助解决这个问题将不胜感激

编辑
Flutter BLECharacteristic.fromMap
factory BLECharacteristic.fromMap(Map<String, dynamic> map) => BLECharacteristic(
map['uuid'] as String,
);
Java BLECharacteristic.toMap
HashMap<String, Object> toMap() {
HashMap<String, Object> bleCharacteristicMap = new HashMap<>();
bleCharacteristicMap.put("uuid", uuid);
return bleCharacteristicMap;
}

最佳答案

在 Flutter 中,map['characteristics']将返回 List<Object?>而不是 List<BLECharacteristic> .所以下面的代码可能对你有用(未经测试):

factory BLEService.fromMap(Map<String, dynamic> map) => BLEService(
map['uuid'] as String,
(map['characteristics'] as List)
?.map((e) =>
BLECharacteristic.fromMap(e as Map<String, dynamic>)
).toList()
);
你能显示 fromMaptoMap BLECharactertic 的方法以便更好地理解问题。

关于java - 类型 'List<Object?>' 不是类型转换中类型 'List<>' 的子类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70035380/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com