首页 > 解决方案 > 如何修复不兼容的类型:java.lang.Object 无法转换为 java.util.List

问题描述

我有一个这样定义的哈希图,我无法更改

private Map<String, Object> attributes;

该对象是一个字符串列表(有时大小 == 1,其他时间 > 1)。

我稍后在执行中有一个属性映射的实例。我想将对象作为列表。

这个:

List<String> outputs = attributes.get("keys");

抛出此错误。

incompatible types: java.lang.Object cannot be converted to java.util.List<java.lang.String>

我该如何解决?

标签: javaobjectjava-8casting

解决方案


使用显式强制转换:

List<String> outputs = (List<String>) attributes.get("keys");

请注意,这是未经检查的强制转换,可能会在运行时抛出ClassCastException


推荐阅读