Je veux utiliser un ArrayList pour mon code mais il doit contenir différents types d'objets. il devrait donc être STH comme ceci:Java: même nom mais type générique différent
switch (foo) {
case "foo1":
list=new ArrayList<foo1>();
break;
case "foo2":
list = new ArrayList<foo2>();
break;
Je sais que le code affiché ne fonctionne pas, mais est-il possible de faire équiv.
Et avant de demander il devrait y avoir plusieurs actions effectuées sur cette liste, mais je ne vais pas écrire à nouveau tout simplement avec un nom différent pour la liste.
public class foo1 {}
public class foo2 {}
import java.util.ArrayList;
public class work{
public static void main(String[] args){
ArrayList<?> list;
switch (args[0]) {
case "foo1":
list=new ArrayList<foo1>();
break;
case "foo2":
list= new ArrayList<foo2>();
break;
default:
System.out.println("Some Error Text");
return;
}
list.add(new foo1());
}
}
Regardez dans les caractères génériques. –
C'est possible, mais probablement pas très utile. Cela ressemble à [problème XY] (http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem). Pouvez-vous décrire comment aimeriez-vous utiliser la référence à de telles listes? – Pshemo
le code posté fonctionnera dans Java 7 – nikis