2017-10-15 16 views
1

を受け入れKotlinで引数を宣言することができます。私は、例外を宣言したい:Javaではどのように私は、例えば(のみ)列挙型

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

私が展開する

public class UnexpectedEnumException extends RuntimeException { 

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

'列挙型:列挙型<*>' –

+0

あなたが望んだ場合にも、同様列挙型に基づいて、クラスは一般的なことができます: 'クラスUnexpectedEnumException >(列挙型:T)' –

答えて

4

によってこれを行うことができますJB Nizetのコメントで答えがあったはずですが、generics in KotlinはJavaと少し違います。 スターの使用方法は、ドキュメントのStar projectionsセクションで説明されています。

class UnexpectedEnumException(enum: Enum<*>) 
    : Exception("Unexpected enum $enum") 
関連する問題