3

これは不可能だと思いますが、おそらく私は間違っています。可能であれば、お願いします。;-)

可能なインターフェイスまたはクラスを拡張するクラス参照のみを受け入れるアノテーションを定義すると、次のようになります。

 Class<? extends ServiceProviderIF> serviceIFProvider();

このアノテーションでは、ServiceProviderIFを拡張するクラスのみを追加できます。私の質問:そのような定義は別の注釈でも可能ですか?つまり、擬似コードでは次のようになります

 Class<? contains AnnotationXYZ> classReferences();

AnnotationXYZは別の注釈定義です。また、追加する必要のあるクラスは、このアノテーションを含めることによってのみ受け入れられます。

TIAとよろしく、オリ

4

2 に答える 2

3

いいえ、できません。ジェネリック型では型のみが受け入れられます。また、注釈は型を定義しません。

于 2012-06-13T09:27:10.893 に答える
3

それは不可能だ。注釈は任意の型 (クラス、インターフェース) に設定できますが、Java メソッドは、異なる階層の型を含む複数の型を返すことはできません。言い換えれば、注釈を持つすべてのクラスをAnnotationXYZ同じ階層内のいくつかのインターフェースまたはクラスの下に配置してから、ワイルドカードBlabla型を使用する必要があります。<? extends Blabla>

于 2012-06-13T09:58:35.387 に答える