如何在Kotlin中声明一个接受(仅)枚举的参数

时间:2017-10-15 07:00:38

标签: java exception enums kotlin

例如:我想宣布一个例外:

class UnexpectedEnumException(enum: Enum...) : Exception("Unexpected enum $enum")

在Java中我可以通过

来完成
public class UnexpectedEnumException extends RuntimeException {

    public UnexpectedEnumException(Enum<?> en) {
        super("Unexpected enum " +  en);
    }

1 个答案:

答案 0 :(得分:4)

为了扩展JB Nizet的评论,这应该是一个答案,generics in Kotlin与Java有点不同。 star 的用法在文档的Star projections部分进行了解释。

class UnexpectedEnumException(enum: Enum<*>)
    : Exception("Unexpected enum $enum")