Mapping Class Java
Résolu/Fermé
Hurobaki
Messages postés
53
Date d'inscription
dimanche 23 mars 2014
Statut
Membre
Dernière intervention
10 mars 2017
-
7 févr. 2016 à 22:23
KX Messages postés 16754 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 - 10 févr. 2016 à 19:01
KX Messages postés 16754 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 - 10 févr. 2016 à 19:01
A voir également:
- Mapping Class Java
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel football - Télécharger - Jeux vidéo
- Java apk - Télécharger - Langages
- Java décompiler - Télécharger - Langages
- Java runtime - Télécharger - Langages
3 réponses
KX
Messages postés
16754
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 020
Modifié par KX le 8/02/2016 à 18:57
Modifié par KX le 8/02/2016 à 18:57
Bonjour,
C'est une mauvaise idée d'appeler tes classes Map et Function...
On ne peut pas te demander de connaître les 4000 classes fournies par Java mais il y en a quelques unes comme Map qui sont incontournables et si tu réutilises ce nom pour faire d'autres classes qui n'ont rien à voir, cela va rapidement poser problème, en particulier si tu fais un import big bang avec java.util.* alors que justement la classe Map de Java est dans java.util
Donc déjà, enlèves l'
Ensuite, les méthodes dans les interfaces ne doivent pas porter le mot clé abstract (c'est réservé aux classes abstraites).
Remarque : un code complet serait le bienvenue, parce qu'en l'état je ne peux pas tester vu qu'il manque des méthodes un peu partout... ce qui ne m'aide pas non plus pour comprendre ce que tu cherches à faire (c'est confus)
PS. En quelle version de Java est-ce que tu codes ?
La confiance n'exclut pas le contrôle
C'est une mauvaise idée d'appeler tes classes Map et Function...
On ne peut pas te demander de connaître les 4000 classes fournies par Java mais il y en a quelques unes comme Map qui sont incontournables et si tu réutilises ce nom pour faire d'autres classes qui n'ont rien à voir, cela va rapidement poser problème, en particulier si tu fais un import big bang avec java.util.* alors que justement la classe Map de Java est dans java.util
Donc déjà, enlèves l'
import java.util.*;pour le remplacer par des imports plus spécifiques (List, ArrayList, Iterator), et précises à quoi est censé servir ta classe "Map" dans ton cas.
Ensuite, les méthodes dans les interfaces ne doivent pas porter le mot clé abstract (c'est réservé aux classes abstraites).
Remarque : un code complet serait le bienvenue, parce qu'en l'état je ne peux pas tester vu qu'il manque des méthodes un peu partout... ce qui ne m'aide pas non plus pour comprendre ce que tu cherches à faire (c'est confus)
PS. En quelle version de Java est-ce que tu codes ?
La confiance n'exclut pas le contrôle
Hurobaki
Messages postés
53
Date d'inscription
dimanche 23 mars 2014
Statut
Membre
Dernière intervention
10 mars 2017
9 févr. 2016 à 23:42
9 févr. 2016 à 23:42
Merci pour ta réponse, je code avec la dernière version de Eclipse je ne sais pas quelle est la version de Java ...
Je comprends ce que tu me dis j'ai donc fais les changements nécessaires et j'ai "réussi" à trouver une façon de faire qui fait ce que je veux :
Je crée ma Function et je redéfinis la méthode contenue dans l'interface pour ensuite la passer en paramètre à ma méthode map (qui est vrai est un mauvais nom de méthode ...)
Je comprends ce que tu me dis j'ai donc fais les changements nécessaires et j'ai "réussi" à trouver une façon de faire qui fait ce que je veux :
public void resetPartielAll() { Function f = new Function() { @Override public void applyIt(Vehicule v) { v.getCompteur().resetPartiel(); } }; map(f); }
Je crée ma Function et je redéfinis la méthode contenue dans l'interface pour ensuite la passer en paramètre à ma méthode map (qui est vrai est un mauvais nom de méthode ...)
KX
Messages postés
16754
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 020
10 févr. 2016 à 08:13
10 févr. 2016 à 08:13
"avec la dernière version de Eclipse je ne sais pas quelle est la version de Java"
Eclipse c'est juste un éditeur de texte, c'est la version de Java qui compte !
Si tu codes en Java 8, ce que tu as écris juste au dessus se simplifie comme ceci :
D'où l'intérêt de savoir dans quelle version de Java tu codes !
Eclipse c'est juste un éditeur de texte, c'est la version de Java qui compte !
Si tu codes en Java 8, ce que tu as écris juste au dessus se simplifie comme ceci :
public void resetPartielAll() { map(v -> v.getCompteur().resetPartiel()); }
D'où l'intérêt de savoir dans quelle version de Java tu codes !
Hurobaki
Messages postés
53
Date d'inscription
dimanche 23 mars 2014
Statut
Membre
Dernière intervention
10 mars 2017
10 févr. 2016 à 10:05
10 févr. 2016 à 10:05
Effectivement ça n'a rien à vois l'éditeur et la version de Java ... J'ai regardé je suis en Java 8 et donc ton bout de code marche très bien !
Merci d'avoir pris le temps de m'expliquer :)
Merci d'avoir pris le temps de m'expliquer :)
KX
Messages postés
16754
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 020
10 févr. 2016 à 19:01
10 févr. 2016 à 19:01
Du coup tu peux supprimer tes interfaces Map et Function pour utiliser les interfaces standard de Java 8, dans ton cas java.util.function.Consumer conviendrait pour les deux.