我怎样才能申报科特林接受(只)枚举
问题描述:
例如参数:我要声明的例外:由我怎样才能申报科特林接受(只)枚举
public class UnexpectedEnumException extends RuntimeException {
public UnexpectedEnumException(Enum<?> en) {
super("Unexpected enum " + en);
}
答
扩大
class UnexpectedEnumException(enum: Enum...) : Exception("Unexpected enum $enum")
在Java中,我可以做到这一点关于JB Nizet的评论,本应该是一个答案,generics in Kotlin与Java有些不同。 星号的用法在文档的Star projections部分进行了说明。
class UnexpectedEnumException(enum: Enum<*>)
: Exception("Unexpected enum $enum")
'枚举:枚举' –
您还可以使通用类基于枚举,以及如果你想:'类UnexpectedEnumException>(枚举:T)' –