例如:我想宣布一个例外:
class UnexpectedEnumException(enum: Enum...) : Exception("Unexpected enum $enum")
在Java中我可以通过
来完成public class UnexpectedEnumException extends RuntimeException {
public UnexpectedEnumException(Enum<?> en) {
super("Unexpected enum " + en);
}
答案 0 :(得分:4)
为了扩展JB Nizet的评论,这应该是一个答案,generics in Kotlin与Java有点不同。 star 的用法在文档的Star projections部分进行了解释。
class UnexpectedEnumException(enum: Enum<*>)
: Exception("Unexpected enum $enum")