Bonjour
Voila, j'ai une erreur etrange avec les generics: je definis deux methodes:
public void unregisterServices(Collection<ServiceReference> _references);
et
public void unregisterServices(Collection<String> _ids);
Impossible de compiler!! Les deux methodes sont de meme "nature"
(erasure). Si je comprends pourquoi (les deux parametres sont tous les
deux des collections) je ne comprends pas le bug: sinon, a quoi ca sert
les generics?!!
Si quelqu'un a une idée du pourquoi ou du comment, aidez moi svp parec
que la je panique :)
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Kupee
alexandre cartapanis wrote:
Bonjour Voila, j'ai une erreur etrange avec les generics: je definis deux methodes:
public void unregisterServices(Collection<ServiceReference> _references); et public void unregisterServices(Collection<String> _ids);
Impossible de compiler!! Les deux methodes sont de meme "nature" (erasure). Si je comprends pourquoi (les deux parametres sont tous les deux des collections) je ne comprends pas le bug: sinon, a quoi ca sert les generics?!! Si quelqu'un a une idée du pourquoi ou du comment, aidez moi svp parec que la je panique :)
Les generics ne font a priori qu'un travail a la compilation. Sinon tu ne pourrai pas compiler en ayant pour cible des JVM antérieures a Java 1.5
alexandre cartapanis wrote:
Bonjour
Voila, j'ai une erreur etrange avec les generics: je definis deux methodes:
public void unregisterServices(Collection<ServiceReference> _references);
et
public void unregisterServices(Collection<String> _ids);
Impossible de compiler!! Les deux methodes sont de meme "nature"
(erasure). Si je comprends pourquoi (les deux parametres sont tous les
deux des collections) je ne comprends pas le bug: sinon, a quoi ca sert
les generics?!!
Si quelqu'un a une idée du pourquoi ou du comment, aidez moi svp parec
que la je panique :)
Les generics ne font a priori qu'un travail a la compilation. Sinon tu
ne pourrai pas compiler en ayant pour cible des JVM antérieures a Java 1.5
Bonjour Voila, j'ai une erreur etrange avec les generics: je definis deux methodes:
public void unregisterServices(Collection<ServiceReference> _references); et public void unregisterServices(Collection<String> _ids);
Impossible de compiler!! Les deux methodes sont de meme "nature" (erasure). Si je comprends pourquoi (les deux parametres sont tous les deux des collections) je ne comprends pas le bug: sinon, a quoi ca sert les generics?!! Si quelqu'un a une idée du pourquoi ou du comment, aidez moi svp parec que la je panique :)
Les generics ne font a priori qu'un travail a la compilation. Sinon tu ne pourrai pas compiler en ayant pour cible des JVM antérieures a Java 1.5
alexandre cartapanis
alexandre cartapanis wrote:
Bonjour Voila, j'ai une erreur etrange avec les generics: je definis deux methodes:
public void unregisterServices(Collection<ServiceReference> _references); et public void unregisterServices(Collection<String> _ids);
Impossible de compiler!! Les deux methodes sont de meme "nature" (erasure). Si je comprends pourquoi (les deux parametres sont tous les deux des collections) je ne comprends pas le bug: sinon, a quoi ca sert les generics?!! Si quelqu'un a une idée du pourquoi ou du comment, aidez moi svp parec que la je panique :)
Les generics ne font a priori qu'un travail a la compilation. Sinon tu ne pourrai pas compiler en ayant pour cible des JVM antérieures a Java 1.5 ben justement, c pas logique dans ce cas. Si le travail est fait a la
compilation, il doit bien voir que Collection<String> est differend de Collection<ServiceReference>... Qd a compiler pour une version anterieur, je suis pas sur, mais je crois que ca marche pas justement.
alexandre cartapanis wrote:
Bonjour
Voila, j'ai une erreur etrange avec les generics: je definis deux
methodes:
public void unregisterServices(Collection<ServiceReference> _references);
et
public void unregisterServices(Collection<String> _ids);
Impossible de compiler!! Les deux methodes sont de meme "nature"
(erasure). Si je comprends pourquoi (les deux parametres sont tous les
deux des collections) je ne comprends pas le bug: sinon, a quoi ca sert
les generics?!!
Si quelqu'un a une idée du pourquoi ou du comment, aidez moi svp parec
que la je panique :)
Les generics ne font a priori qu'un travail a la compilation. Sinon tu
ne pourrai pas compiler en ayant pour cible des JVM antérieures a Java 1.5
ben justement, c pas logique dans ce cas. Si le travail est fait a la
compilation, il doit bien voir que Collection<String> est differend de
Collection<ServiceReference>...
Qd a compiler pour une version anterieur, je suis pas sur, mais je crois
que ca marche pas justement.
Bonjour Voila, j'ai une erreur etrange avec les generics: je definis deux methodes:
public void unregisterServices(Collection<ServiceReference> _references); et public void unregisterServices(Collection<String> _ids);
Impossible de compiler!! Les deux methodes sont de meme "nature" (erasure). Si je comprends pourquoi (les deux parametres sont tous les deux des collections) je ne comprends pas le bug: sinon, a quoi ca sert les generics?!! Si quelqu'un a une idée du pourquoi ou du comment, aidez moi svp parec que la je panique :)
Les generics ne font a priori qu'un travail a la compilation. Sinon tu ne pourrai pas compiler en ayant pour cible des JVM antérieures a Java 1.5 ben justement, c pas logique dans ce cas. Si le travail est fait a la
compilation, il doit bien voir que Collection<String> est differend de Collection<ServiceReference>... Qd a compiler pour une version anterieur, je suis pas sur, mais je crois que ca marche pas justement.
alexandre cartapanis
alexandre cartapanis wrote:
Bonjour Voila, j'ai une erreur etrange avec les generics: je definis deux methodes:
public void unregisterServices(Collection<ServiceReference> _references); et public void unregisterServices(Collection<String> _ids);
Impossible de compiler!! Les deux methodes sont de meme "nature" (erasure). Si je comprends pourquoi (les deux parametres sont tous les deux des collections) je ne comprends pas le bug: sinon, a quoi ca sert les generics?!! Si quelqu'un a une idée du pourquoi ou du comment, aidez moi svp parec que la je panique :)
Les generics ne font a priori qu'un travail a la compilation. Sinon tu ne pourrai pas compiler en ayant pour cible des JVM antérieures a Java 1.5
ben justement, c pas logique dans ce cas. Si le travail est fait a la compilation, il doit bien voir que Collection<String> est differend de Collection<ServiceReference>... Qd a compiler pour une version anterieur, je suis pas sur, mais je crois que ca marche pas justement. effectivement, apres test de compilation:
javac: source release 1.5 requires target release 1.5 Donc du code en Java5 ne peut etre compilé QUE pour une JVM 1.5 (ou sup).
alexandre cartapanis wrote:
Bonjour
Voila, j'ai une erreur etrange avec les generics: je definis deux
methodes:
public void unregisterServices(Collection<ServiceReference> _references);
et
public void unregisterServices(Collection<String> _ids);
Impossible de compiler!! Les deux methodes sont de meme "nature"
(erasure). Si je comprends pourquoi (les deux parametres sont tous les
deux des collections) je ne comprends pas le bug: sinon, a quoi ca sert
les generics?!!
Si quelqu'un a une idée du pourquoi ou du comment, aidez moi svp parec
que la je panique :)
Les generics ne font a priori qu'un travail a la compilation. Sinon tu
ne pourrai pas compiler en ayant pour cible des JVM antérieures a Java 1.5
ben justement, c pas logique dans ce cas. Si le travail est fait a la
compilation, il doit bien voir que Collection<String> est differend de
Collection<ServiceReference>...
Qd a compiler pour une version anterieur, je suis pas sur, mais je crois
que ca marche pas justement.
effectivement, apres test de compilation:
javac: source release 1.5 requires target release 1.5
Donc du code en Java5 ne peut etre compilé QUE pour une JVM 1.5 (ou sup).
Bonjour Voila, j'ai une erreur etrange avec les generics: je definis deux methodes:
public void unregisterServices(Collection<ServiceReference> _references); et public void unregisterServices(Collection<String> _ids);
Impossible de compiler!! Les deux methodes sont de meme "nature" (erasure). Si je comprends pourquoi (les deux parametres sont tous les deux des collections) je ne comprends pas le bug: sinon, a quoi ca sert les generics?!! Si quelqu'un a une idée du pourquoi ou du comment, aidez moi svp parec que la je panique :)
Les generics ne font a priori qu'un travail a la compilation. Sinon tu ne pourrai pas compiler en ayant pour cible des JVM antérieures a Java 1.5
ben justement, c pas logique dans ce cas. Si le travail est fait a la compilation, il doit bien voir que Collection<String> est differend de Collection<ServiceReference>... Qd a compiler pour une version anterieur, je suis pas sur, mais je crois que ca marche pas justement. effectivement, apres test de compilation:
javac: source release 1.5 requires target release 1.5 Donc du code en Java5 ne peut etre compilé QUE pour une JVM 1.5 (ou sup).
Laurent Bossavit
Alexandre,
Si quelqu'un a une idée du pourquoi ou du comment, aidez moi svp parec que la je panique :)
Un mot utile à apprendre: "erasure". Ca ne va pas résoudre ton problème mais ça te permettra de comprendre pourquoi, ce qui sera peut-être une consolation...
Si quelqu'un a une idée du pourquoi ou du comment, aidez moi svp parec
que la je panique :)
Un mot utile à apprendre: "erasure". Ca ne va pas résoudre ton problème
mais ça te permettra de comprendre pourquoi, ce qui sera peut-être une
consolation...
Si quelqu'un a une idée du pourquoi ou du comment, aidez moi svp parec que la je panique :)
Un mot utile à apprendre: "erasure". Ca ne va pas résoudre ton problème mais ça te permettra de comprendre pourquoi, ce qui sera peut-être une consolation...
Qd a compiler pour une version anterieur, je suis pas sur, mais je crois que ca marche pas justement.
Si si ça fonctionne, avec l'option "target" qui va bien ! :)
Les génériques ne sont "qu'une" vérification au compile time, le bytecode ne change pas avec son utilisation.
Ca ne change pas non plus le typage de tes objets... Au runtime, on continue a faire du cast à partir d'instances d'Object, sauf qu'on a plus à se tapper le code pour le faire et que le compilateur nous garantis au compile time qu'on aura pas de problème de cast.
Si le compilo te laissais passer au compile time, le runtime n'aurait aucun moyen de choisir la bonne méthode à exécuter au moment d'un appel à unregisterServices(Collection).
alexandre cartapanis wrote:
Qd a compiler pour une version anterieur, je suis pas sur, mais je crois
que ca marche pas justement.
Si si ça fonctionne, avec l'option "target" qui va bien ! :)
Les génériques ne sont "qu'une" vérification au compile time, le
bytecode ne change pas avec son utilisation.
Ca ne change pas non plus le typage de tes objets... Au runtime, on
continue a faire du cast à partir d'instances d'Object, sauf qu'on a
plus à se tapper le code pour le faire et que le compilateur nous
garantis au compile time qu'on aura pas de problème de cast.
Si le compilo te laissais passer au compile time, le runtime n'aurait
aucun moyen de choisir la bonne méthode à exécuter au moment d'un appel
à unregisterServices(Collection).
Qd a compiler pour une version anterieur, je suis pas sur, mais je crois que ca marche pas justement.
Si si ça fonctionne, avec l'option "target" qui va bien ! :)
Les génériques ne sont "qu'une" vérification au compile time, le bytecode ne change pas avec son utilisation.
Ca ne change pas non plus le typage de tes objets... Au runtime, on continue a faire du cast à partir d'instances d'Object, sauf qu'on a plus à se tapper le code pour le faire et que le compilateur nous garantis au compile time qu'on aura pas de problème de cast.
Si le compilo te laissais passer au compile time, le runtime n'aurait aucun moyen de choisir la bonne méthode à exécuter au moment d'un appel à unregisterServices(Collection).
alexandre cartapanis
Alexandre,
Si quelqu'un a une idée du pourquoi ou du comment, aidez moi svp parec que la je panique :)
Un mot utile à apprendre: "erasure". Ca ne va pas résoudre ton problème mais ça te permettra de comprendre pourquoi, ce qui sera peut-être une consolation...
J'avais vue la "traduction" du mot, mais pas vraiment la definition Java, ca m'a l'air super interressant, je vais regarder, merci :)
Alexandre,
Si quelqu'un a une idée du pourquoi ou du comment, aidez moi svp parec
que la je panique :)
Un mot utile à apprendre: "erasure". Ca ne va pas résoudre ton problème
mais ça te permettra de comprendre pourquoi, ce qui sera peut-être une
consolation...
Si quelqu'un a une idée du pourquoi ou du comment, aidez moi svp parec que la je panique :)
Un mot utile à apprendre: "erasure". Ca ne va pas résoudre ton problème mais ça te permettra de comprendre pourquoi, ce qui sera peut-être une consolation...