IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Java Discussion :

Generics / Templates pour la comparaison de tableaux.


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Modérateur
    Avatar de ToTo13
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Janvier 2006
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 793
    Par défaut Generics / Templates pour la comparaison de tableaux.
    Bonsoir,

    j'ai lu pas mal de choses sur les Generics et les Templates, mais j'avoue que c'est encore un peu flou et que j'ai donc du mal à les mettre en pratiques.

    J'aurai souhaité savoir si ce que je souhaites faire est possible : je souhaite créer une méthode qui prendrait deux tableaux en arguments et qui comparerait chaque élément (t1[i] comp t2[i], avec comp du style <, ==, >, !=, <=, >=).
    Seulement, comme je n'ai pas vraiment envie de dupliquer le code pour tous les cas de figures possibles, je souhaiterai savoir si cela est possible en utilisant les Generics.

    Je sais que cela est possible si au lieu d'avoir des tableaux je passais des classes. Mais pour des tableaux...

    Merci par avance,
    Consignes aux jeunes padawans : une image vaut 1000 mots !
    - Dans ton message respecter tu dois : les règles de rédaction et du forum, prévisualiser, relire et corriger TOUTES les FAUTES (frappes, sms, d'aurteaugrafe, mettre les ACCENTS et les BALISES) => ECRIRE clairement et en Français tu DOIS.
    - Le côté obscur je sens dans le MP => Tous tes MPs je détruirai et la réponse tu n'auras si en privé tu veux que je t'enseigne.(Lis donc ceci)
    - ton poste tu dois marquer quand la bonne réponse tu as obtenu.

  2. #2
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Salut,

    Citation Envoyé par ToTo13 Voir le message
    j'ai lu pas mal de choses sur les Generics et les Templates, mais j'avoue que c'est encore un peu flou et que j'ai donc du mal à les mettre en pratiques.
    En Java on utilise des Generics et non pas des Templates.
    La principale différence vient du fait que le code n'est pas dupliqué... mais du coup cela ne s'adapte pas avec les types primitifs, et on a quelques limitations sur le type paramétré.

    Citation Envoyé par ToTo13 Voir le message
    J'aurai souhaité savoir si ce que je souhaites faire est possible : je souhaite créer une méthode qui prendrait deux tableaux en arguments et qui comparerait chaque élément (t1[i] comp t2[i], avec comp du style <, ==, >, !=, <=, >=).
    Seulement, comme je n'ai pas vraiment envie de dupliquer le code pour tous les cas de figures possibles, je souhaiterai savoir si cela est possible en utilisant les Generics.
    S'il s'agit de tableaux de type primitif ce n'est pas possible et la duplication est obligatoire

    S'il s'agit de tableaux d'Object c'est possible mais en utilisant la méthode compareTo() et l'interface Comparable<T> :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    	public <T extends Comparable<T>> void equals(T[] a1, T[] a2) {
    a++

  3. #3
    Modérateur
    Avatar de ToTo13
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Janvier 2006
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 793
    Par défaut
    Bonjour,

    merci, c'est bien ce que j'avais cru comprendre (non duplication du code et pas de type primitifs).
    Je souhaitais savoir s'il y avait une astuce pour contournait ce problème, mais visiblement non :-(
    Consignes aux jeunes padawans : une image vaut 1000 mots !
    - Dans ton message respecter tu dois : les règles de rédaction et du forum, prévisualiser, relire et corriger TOUTES les FAUTES (frappes, sms, d'aurteaugrafe, mettre les ACCENTS et les BALISES) => ECRIRE clairement et en Français tu DOIS.
    - Le côté obscur je sens dans le MP => Tous tes MPs je détruirai et la réponse tu n'auras si en privé tu veux que je t'enseigne.(Lis donc ceci)
    - ton poste tu dois marquer quand la bonne réponse tu as obtenu.

  4. #4
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    La seule véritable astuce, c'est de faire un programme qui génère le programme.

    C'est pas bien beau, mais ça marche.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Velocity Template/Tag library : comparaison ?
    Par joseph_p dans le forum Développement Web en Java
    Réponses: 2
    Dernier message: 09/11/2005, 13h47
  2. [MASM] Utiliser un .IF pour une comparaison de nombre signés
    Par Crisanar dans le forum x86 32-bits / 64-bits
    Réponses: 3
    Dernier message: 24/11/2004, 16h32
  3. [langage] Comparaison de tableaux
    Par WetzlarMan dans le forum Langage
    Réponses: 2
    Dernier message: 22/04/2004, 14h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo