我看不出我的流api逻辑有什么问题
[错误]mystuff/MandantContentFetcher。java:[67,23]不兼容的类型:java。无法将lang.Object转换为java。util。列表
这是我的stream方法:
static List<MandantLinkCheckerEntry> createMandantLinkCheckerEntries(Struct struct) {
Map<String, Object> linkCheckerMandants = struct.toNestedMaps();
return linkCheckerMandants.values().parallelStream()
.map(Map.class::cast)
.map(MandantLinkCheckerEntry::convertMapToMandantCheckerEntry)
.collect(Collectors.toList());
}
其中使用此方法引用:
private static MandantLinkCheckerEntry convertMapToMandantCheckerEntry(Map<String, Object> entryToConvert) {
return new MandantLinkCheckerEntry(String.valueOf(entryToConvert.get("mandant.path")),
String.valueOf(entryToConvert.get("mail.to")),
Boolean.valueOf(String.valueOf(entryToConvert.get("active"))));
}
他为什么看到一个物体?第二个映射中的方法引用确实返回MandantLinkCheckerEntry。我还假设collect确实创建了一个列表,其中流值是泛型类型,但他似乎转换了流的类型(这是对象,因为流启动器是Map)
更改此行:
.map(Map.class::cast)
对于这个:
.map(o -> (Map<String, Object>) o)
当然,这种强制转换是完全不安全的,并且会生成警告,但至少,您将沿着流管道保留泛型类型参数。
问题是,类的文字不能引用泛型类型,所以Map.class
计算为类
所以接下来的
。map(MandantLinkCheckerEntry::convertmaptomandatcheckerentry)
带有一个未选中的操作,将映射分配给
映射
当你使用
static List<MandantLinkCheckerEntry> createMandantLinkCheckerEntries(Struct struct) {
Map<String, Object> linkCheckerMandants = struct.toNestedMaps();
return linkCheckerMandants.values().parallelStream()
.map(Map.class::cast)
.map((Function<Map,MandantLinkCheckerEntry>)MandantLinkCheckerEntry::convertMapToMandantCheckerEntry)
.collect(Collectors.toList());
}
相反,当将方法
转换MapToMandantCheckerEntry
绑定到函数时,会发生未检查的操作
你总会不可避免地在某个地方有一个未经检查的操作,比如从
对象
到映射的转换的正确性
static List<MandantLinkCheckerEntry> createMandantLinkCheckerEntries(Struct struct) {
Map<String, Map<String, Object>> linkCheckerMandants = struct.toNestedMaps();
return linkCheckerMandants.values().parallelStream()
.map(MandantLinkCheckerEntry::convertMapToMandantCheckerEntry)
.collect(Collectors.toList());
}
我试了所有的办法,但都不起作用。应用程序一次又一次崩溃。拜托,救命。 这是用于Java和XML的应用程序代码。错误为 我的mainactivity.java代码如下所示 activity_main.xml的代码是
我有JSON文件看起来像 所以这个键是一个字符串“SUBS_ID”,这个值是一个名为Feature细节的模型,它包含属性“特性设置名称、特性名称、...”。所以我用这样google.json库从JSON文件中读取, 然后我试图循环这个HashMap获取值,并将其转换为我的Feature细节模型, 这是我的FeatureDetails模型, 但我得到了一个例外"com.google.gson.int
public类EmployeeAbsences{public static void main(String[]args }
对API控制器的远程调用(通过RestTemboard)(从一侧返回已知对象的List([]),从远程侧返回未知类型的对象)返回
MainActivity.java 对不起,我的英语很差。
我试图反序列化从Web API接收的JSON字符串 然而,它给出了一个错误:无法强制转换或转换系统。字符串到App1。ApiResult