我如何在Kotlin中声明接受(仅)枚举的参数
例如:我想声明一个异常:
class UnexpectedEnumException(enum: Enum...) : Exception("Unexpected enum $enum")
在Java中,我可以通过
public class UnexpectedEnumException extends RuntimeException { public UnexpectedEnumException(Enum<?> en) { super("Unexpected enum " + en); }
为了扩展JB Nizet的评论,本应该是一个答案, Kotlin的泛型与Java有些不同。 文档的“ 星型预测”部分介绍了星型的用法。
class UnexpectedEnumException(enum: Enum<*>) : Exception("Unexpected enum $enum")