/ / Java Generics and Annotations: Type-Safe - java, generiká, anotácie

Java generiky a poznámky: Type-Safe - java, generics, annotations

Viem, že môžem robiť niečo ako:

public class AbstractDao<T extends Bean> {

}

V tomto prípade je Bean trieda alebo rozhranie.

Zaujímalo by ma, či existuje spôsob, ako to urobiť s anotáciami, napríklad:

public class AbstractDao<T extends javax.persistence.Entity> {

}

Je niečo také možné?

Vopred ďakujem!

odpovede:

3 pre odpoveď č. 1

Bohužiaľ, v anotáciách nie je dedičstvo, takže to nie je možné.

Tu nájdete odpovede na podobnú otázku:

Prečo nie je možné rozšíriť anotácie v jazyku Java?


3 pre odpoveď č. 2

Nie. Špecifikácia jazyka Java hovorí premenné tohto typu môžu byť obmedzené iba narozširovať / implementovať konkrétne triedy alebo rozhrania. Pretože anotácia triedy nespôsobuje, že trieda rozširuje alebo implementuje konkrétny typ, môžete anotáciou obmedziť.