如何合并具有相同父接口的kotlin中的两组枚举?

我正在尝试执行以下操作:

val list = MyEnum1.values().filterIsInstance(MyParentInterface::class.java) .plus(MyEnum2.values().filterIsInstance(MyParentInterface::class.java)) 

在Android Studio上,lint抱怨说filterIsInstance是一个“无用的集合类型调用”。 但是,如果我删除它, plus(MyEnum2.values()...不起作用,因为它们不是相同的类型。

这是将两个枚举的值合并成一个列表的正确方法吗?

编辑:我的枚举看起来像这样:

 enum class MyEnum1 : MyParentInterface { ENUM1_TYPE1, ENUM1_TYPE2 } 

您可以明确声明一个列表为MyParentInterface,然后添加您的枚举值。

 val result = mutableListOf<MyParentInterface>() return result.plus(MyEnum1.values()) .plus(MyEnum2.values()) 

您可以将值数组转换为列表,然后连接它们:

 val sum: List<MyParentInterface> = MyEnum1.values().asList() + MyEnum2.values().asList()