Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

petites questions sur java

15 réponses
Avatar
Nicolas Moreau
bonjour,

j'ai quelques questions pour java, en fait c'est surtout pour des
raccourcis de programmation:

- existe t'il une methode pour appliquer une méthode sur chaque object
d'une liste ?

- est-ce qu'on peut passer une methode en paramètre d'une méthode
(d'après mes recherches c'est pas possible) ?

- est-ce qu'on peut mettre a plat un vecteur de vecteurs (= ne créer
qu'un seul vecteur contenant tous les éléments) ?


merci d'avance

Nicolas Moreau

5 réponses

1 2
Avatar
gvauvert
les design pattern ca devrait faire partie de tous les cours
d'informatique, avant même les langages eux mêmes.
Mouais, la dernière remarque gache un peu la qualité de ta réponse.

- Les design pattern, tu ne peux les comprendre qu'après avoir appris
à programmer. Avant, ça n'a aucun sens. Essaie de les expliquer à ta
grande-tante pour voir.
- Les design pattern, tu ne peux les apprécier qu'après en avoir
bavé de programmer. Avant, ce sont juste des constructions sans
intérêt. Essaie de les expliquer à ta grande-tante juste après lui
avoir appris à programmer.
- Et apprendre à programmer sans langage, ce n'est pas donné à tout
le monde.
OK, c'est un avis un peu tranché, mais la vérité ne doit pas être
trop loin.

Avatar
gvauvert
- est-ce qu'on peut passer une methode en paramètre d'une méthode
(d'après mes recherches c'est pas possible) ?


Comme déjà répondu par kupee... l'introspection fait ça bien :

Method methodeCible =
Truc.class.getMethod("uneMethode",String.class,String.class);

trucAFaire(methodeCible);


Je préfère le designpattern commande, parce que l'introspection,
c'est super puissant, mais tu perds la vérification à la compilation
(ou via l'IDE). Pour moi, à réserver aux cas où on ne peut pas faire
autrement ...


Avatar
Xavier Tarrago
Tout à fait, Thierry...
L'introspection en usage normal révèle presque toujours un défaut de
conception.
A utiliser ds des cas particuliers style framework de
sérialisation/déserialisation. (ex lecture de données xml pour construire
des objets java, comme Castor) ou pour des outils de développement
interactif (genre ateliers de beans).


"gvauvert" a écrit dans le message de news:

- est-ce qu'on peut passer une methode en paramètre d'une méthode
(d'après mes recherches c'est pas possible) ?


Comme déjà répondu par kupee... l'introspection fait ça bien :

Method methodeCible > Truc.class.getMethod("uneMethode",String.class,String.class);

trucAFaire(methodeCible);


Je préfère le designpattern commande, parce que l'introspection,
c'est super puissant, mais tu perds la vérification à la compilation
(ou via l'IDE). Pour moi, à réserver aux cas où on ne peut pas faire
autrement ...


Avatar
Francis JUGE-BOIRARD
bonjour,

j'ai quelques questions pour java, en fait c'est surtout pour des
raccourcis de programmation:

- existe t'il une methode pour appliquer une méthode sur chaque object
d'une liste ?
Si la méthode est statique et opère sur un Object, ca parrait simple.

Parcourir le tableau d'Object et appliquer la méthode. Pour le reste,
j'ai peur qu'une telle construction (en dehors de l'écriture d'un
compilateur c# en java :D) ne soit la trace d'un défaut de conception.

- est-ce qu'on peut passer une methode en paramètre d'une méthode
(d'après mes recherches c'est pas possible) ?
Pas de pointeur de méthode en java et c'est tant mieux.....


- est-ce qu'on peut mettre a plat un vecteur de vecteurs (= ne créer
qu'un seul vecteur contenant tous les éléments) ?
Heuuu là, oui c'est même aussi facile que dans n'importe quel autre

langage . Cette question pourrait être peut on faire de tab[10][12] un
tab[120]... Ben oui, sans problème en parcourant les structures de bases
(tableau, array, collection etc....).


merci d'avance

Nicolas Moreau


Avatar
Nicolas Moreau

- est-ce qu'on peut mettre a plat un vecteur de vecteurs (= ne créer
qu'un seul vecteur contenant tous les éléments) ?


Heuuu là, oui c'est même aussi facile que dans n'importe quel autre
langage . Cette question pourrait être peut on faire de tab[10][12] un
tab[120]... Ben oui, sans problème en parcourant les structures de bases
(tableau, array, collection etc....).


Je sais faire un merge de vecteur de vecteurs en faisant un parcours, je
me demandais juste s'il y avait une méthode qui le faisait déjà, je
trouve ça plus élégant.

Nicolas Moreau


1 2