Articles of générique

Évitez les affectations non contrôlées dans une carte avec plusieurs types de valeur?

J’ai un problème avec un avertissement dans Java 7: Unchecked assignment: ‘java.lang.Class’ to ‘java.lang.Class’ Je l’obtiens sur la ligne Class type = typeMap.get(key); dans la fonction get ci-dessous. En gros, ce que j’essaie de faire ici, c’est que je veux stocker un tas de paires clé / valeur de types inconnus (mais tous sont des […]

Génération d’interface Java Generics

Je suis tombé sur une situation de casting Java impliquant des génériques et des interfaces que je ne comprends pas. Veuillez considérer le code suivant où je crée une List . Et ensuite, get() un élément et convertissez-le dans Interface2 sans erreur de compilation, bien que ces deux interfaces ne soient absolument pas liées. import […]

Pourquoi l’opérateur ternaire n’aime-t-il pas les types génériques avec des caractères génériques liés?

La classe suivante définit deux méthodes, qui ont intuitivement toutes les deux la même fonctionnalité. Chaque fonction est appelée avec deux listes de type List List et une valeur booléenne qui spécifie laquelle de ces listes doit être assignée à une variable locale. import java.util.List; class Example { void chooseList1(boolean choice, List list1, List list2) […]

Comment créer une interface Java extensible avec deux types génériques différents?

Idéalement, cela ressemblerait à ceci (le contexte importe peu): public interface myInterface extends Iterable, Iterable { … } Mais ce n’est pas autorisé en Java. Comment puis-je obtenir ce comportement?

Appeler une méthode générique par reflection en java

Comment appeler une méthode générique personnalisée par reflection dans Java? class Person { public void print(T t) { System.out.println(t.toSsortingng()); } }

Pourquoi Java ne me permet-il pas d’accéder à une méthode privée via une méthode de la même classe?

J’ai un code qui ressemble à ceci: public class A { private T one() { return (T) this;} protected T two() { return (T) this;} protected void three() { two().one(); } } Et IntelliJ me dit que “one () a un access privé dans A”, mais bon, pourquoi ne puis-je pas appeler le membre privé […]

Comment fonctionnent les génériques?

Bien que je comprenne certains cas critiques de génériques, il me manque quelque chose avec l’exemple suivant. J’ai la classe suivante 1 public class Test { 2 public static void main(Ssortingng[] args) { 3 Test t = new Test(); 4 List<Test> l =Collections.singletonList(t); 5 } 6 } La ligne 4 me donne l’erreur Type mismatch: […]

casting Collection à Collection

Je suis sûr que cela a déjà été répondu, mais je ne peux vraiment pas le trouver. J’ai une classe java SomeClass et une classe abstract SomeSuperClass . SomeClass étend SomeSuperClass . Une autre méthode abstraite a une méthode qui renvoie une Collection . Dans une classe d’implémentation, j’ai une Collection myCollection Je comprends que […]

Une chaîne est assignée à une liste sans erreur de compilation

Comme je le sais, l’un des principaux objectives des génériques en Java est d’assurer la sécurité du type compilation. S’il est compilé, le code s’exécutera sans problème. Alors pourquoi le code suivant est-il compilé? public static void main(Ssortingng[] args) { Ssortingng s = getList(); } private static T getList() { return (T)new ArrayList(); } Ça […]

java: comment corriger l’avertissement de fonte non vérifiée

J’ai le code suivant: private HashMap<Class, HashMap> m_componentStores; public T getComponent(Entity e, Class exampleClass) { HashMap store = m_componentStores.get(exampleClass); T result = (T)store.get(e); if (result == null) { throw new IllegalArgumentException( “GET FAIL: “+e+” does not possess Component of class\nmissing: “+exampleClass ); } return result; } Lorsque je comstack, cela montre que T result = […]