je voudrais annoter certaines classes avec une annotation @MyEntityJava: collection qui permet aux objets avec une annotation personnalisée
public @interface MyEntity {}
@MyEntity
public class MyClass { ... }
Et définir une collection où seules les classes avec cette annotation sont autorisés (sans avoir besoin de les définissent comme public class MyClass implements XXX
):
List<MyEntity> list = new ArrayList<MyEntity>();
list.add(new MyClass())
les résultats de code ci-dessus dans une erreur de complation "la méthode add (de MyEntity) dans le type ArrayList est pas applicable pour les arguments (MyClass)". Existe-t-il un moyen de définir une collection qui autorise uniquement les objets avec une annotation donnée?
Vous voulez la sémantique * précise * d'une interface lorsque vous utilisez des annotations à la place? Pourquoi? –