gpt4 book ai didi

java 将 LinkedHashMap 转换为扩展 LinkedHashMap 的类

转载 作者:行者123 更新时间:2023-11-30 06:28:31 34 4
gpt4 key购买 nike

我有一个扩展 LinkedHashMap 的类 (EntireFile)。我尝试转换:

EntireFile old = (EntireFile) functionReturningLinkedHashMap();

它抛出异常消息:“java.util.LinkedHashMap cannot be cast to com.gmail.maximsmol.YAML.GroupMap”。

public class EntireFile extends LinkedHashMap<String, GroupMap>

public class GroupMap extends LinkedHashMap<String, CategoryMap>

public class CategoryMap extends LinkedHashMap<String, LinkedHashMap<String, Integer>>

请帮我解决错误!

最佳答案

问题是返回的引用不是EntireFile 实例的引用。如果 functionReturningLinkedHashMap 只是返回一个 LinkedHashMap,它不能转换为 EntireFile,因为它不是一 - 它如何获得关于它的任何额外信息?

(根据您的异常(exception)判断,您实际上是在谈论 GroupMap 而不是 EntireFile,但同样适用。)

此处 LinkedHashMap 没有什么特别之处 - 在 Java 中总是也是如此:

Object foo = new Object();
String bar = (String) foo; // Bang! Exception

关于java 将 LinkedHashMap 转换为扩展 LinkedHashMap 的类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12461695/

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