Bonjour,
J'ai une interface générique et une classe abstraite qui implémente cette interface, voilà ce que cela donne :
Code Java : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 public interface IGeneric<T extends AbstractObject> { void add(T objet); }
Code Java : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 public abstract class AbstractGeneric<T extends AbstractObject> implements IGeneric<T> { public T getById(Long id) { T result = null; PersistenceManager pm = ConnexionUtil.get(); result = pm.getObjectById(T.class, id); return result; } }
Question 1 : Pourquoi, dans la déclaration de la classe abstraite, on est obligé de re-préciser que T doit hériter de AbstractObject alors que IGeneric le "dit" déjà ?
Question 2 : La ligne où je fais le T.class me génère une erreur de compilation, mais je ne vois pas par quoi remplacer. J'ai essayé result.getClass() mais du coup je suis obligée de faire un cast sur le retour (autrement dit, ça ne sert à rien de passer la classe en paramètre). Une idée ?
Partager