Articles of générique

Java – Comment sous-classer le générique ArrayList afin que les instances de MyArrayList soient des sous-classes de ArrayList

Je veux conserver ma sous-classe générique, et tout ce que je veux changer, c’est la méthode add(Object) de ArrayList afin qu’elle n’ajoute rien lorsque vous appelez arrayList.add(null) (l’implémentation normale de ArrayList appenda la valeur null Je ne veux rien faire.

Java – Une méthode qui prend vararg et retourne arraylist?

Je ne suis pas tout à fait à l’aise avec les génériques et je n’ai donc pas encore trouvé de solution à ce problème. J’ai ces trois méthodes: public static List objectAAsList(ObjectA … items) { return new ArrayList(Arrays.asList(items)); } public static List objectBAsList(ObjectB … items) { return new ArrayList(Arrays.asList(items)); } public static List objectCAsList(ObjectC … […]

Méthode de substitution avec une signature différente

J’ai une super classe avec la méthode: protected <E extends Enum,T extends VO> void processarRelatorioComEstado(Date dataInicial, Date dataFinal, E estado) throws RelatorioException { throw new UnsupportedOperationException(“method not overridden”); } et dans l’une de ses sous-classes, je souhaite procéder comme suit: @Override protected <E extends Enum> DemonstrativoReceitaDespesasAnexo12Vo processarRelatorioComEstado(Date dataInicial, Date dataFinal, E estado) throws RelatorioException { […]

Générique vs types inconnus génériques

Quand est-il recommandé de faire: public boolean hasPropertyX(List alist); contre public boolean hasPropertyX(List alist); Il semblerait que les deux fonctionnent tout aussi bien.

Obtenir le type d’un paramètre de classe paramétrée?

J’ai la classe suivante public class MyClass { public Class getDomainClass() { GET THE CLASS OF T } } J’ai cherché ce problème dans Google et toutes les réponses que j’ai pu trouver m’ont dit d’utiliser getGenericSuperClass (), mais le problème de cette méthode est que je dois avoir une seconde classe qui étend MyClass […]

Comment définir le type générique d’une ArrayList au moment de l’exécution en java?

Ok, je suis donc en train de mettre en place ma propre sérialisation XML (je sais qu’il en existe d’autres, même certaines intégrées à Java, mais je le fais moi-même pour apprendre et parce que c’est tellement génial de travailler avec). J’ai la sérialisation vers le bas. Je suis actuellement en cours de désérialisation (lecture […]

utiliser le type d’implémentation dans l’interface en java

Je veux créer une interface qui oblige chaque classe qui l’implémente à avoir une certaine fonctionnalité, pour le type de la classe implémentée. Donc, disons que j’ai des classes MyClassA, MyClassB, MyClassC, etc. qui ont toutes besoin d’une fonction sur leur propre type: dans MyClassA: public class MyClassA implements MyClass { MyClassA function(MyClassA x) { […]

Pourquoi la conversion d’un générique ArrayList dans une super-classe ne fonctionne-t-elle pas?

Quelqu’un peut-il m’expliquer s’il vous plaît pourquoi la ligne marquée //this line gives a comstack error (why?) Dans l’exemple de code suivant ne fonctionne pas? import java.util.ArrayList; public class GenericCastCheck { class A{ } class B extends A{ } public static void main(Ssortingng[] args) { A aObject = new A(); B bObject = new B(); […]

Comment éviter les avertissements Eclipse lors de l’utilisation de code hérité sans génériques?

J’utilise JSON.simple pour générer une sortie JSON à partir de Java. Mais chaque fois que j’appelle jsonobj.put (“ceci”, “cela”), je vois un avertissement dans Eclipse: Type safety: La méthode put (Object, Object) appartient au type brut HashMap. Les références au type générique HashMap doivent être paramétrées Le correctif correct serait si JSONObject était générique, mais […]

L’utilisation de génériques entraîne un avertissement de conversion non contrôlé

J’ai le code suivant Ssortingng innerText = null; innerText = this.getException(detail.getChildElements()); causant cet avertissement Sécurité de type: l’expression de type Iterator nécessite une conversion non contrôlée pour se conformer à Iterator La méthode référencée est private Ssortingng getException(Iterator iterator) { … } L’autre méthode, getChildElements() , est dans un fichier JAR que je ne peux […]