デフォルト値として注釈インタフェースのUUIDの使用

デニスStephanov:

注釈属性にUUIDを使用することが可能でしょうか?私はあなたが以下を参照できるよう属性としてのアノテーションにUUIDを追加しようとしたが、それは私にエラーを与えますAttribute value must be constant.

@Retention(RetentionPolicy.RUNTIME)
public @interface MyAnnotation {

    String name() default "";

    UUID guid() default UUID.random(); // there I have error
}

私はまた、ランダムなUUIDが、同じエラーの少なくともヌルinstadで試してみました。

ありがとうございました。

MyStackRunnethOver:

注釈のドキュメント(チェックアウトここでのウィキペディアを):

戻り値の型は、プリミティブ、文字列、クラス、列挙、注釈、前の型の配列に制限されています。

あなたは、あなたの定義を変更することができます

String guid() default UUID.random().toString();

指摘しホルガーに感謝:どちらか動作しません。エラーは、値がなければならないことを言っている定数すなわち、必ずしもすべてのメソッド呼び出し。

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=4923&siteId=1