max*_*mol 2 java casting hashmap linkedhashmap
我有一个扩展LinkedHashMap的类(EntireFile).我尝试施放:
EntireFile old = (EntireFile) functionReturningLinkedHashMap();
Run Code Online (Sandbox Code Playgroud)
它会抛出异常消息:"java.util.LinkedHashMap不能转换为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>>
Run Code Online (Sandbox Code Playgroud)
请帮我解决错误!
问题是返回的引用不是对实例的引用EntireFile.如果functionReturningLinkedHashMap只返回a LinkedHashMap,则无法将其转换为a EntireFile,因为它不是一个 - 它将如何获得有关它的任何额外信息?
(根据你的例外判断,你实际上是在谈论GroupMap而不是EntireFile,但同样适用.)
没有什么特别之处LinkedHashMap这里-同样是总是如此在Java中:
Object foo = new Object();
String bar = (String) foo; // Bang! Exception
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2288 次 |
| 最近记录: |