Salut
Voilà un morceau de code:
J'aimerais savoir à quoi sert le ? et le : .Code:
1
2 Comparator<Personne> c = ascendant ? new ComparePersonne(): Collections.reveseOrder(new ComparePersonne());
Merci.
Version imprimable
Salut
Voilà un morceau de code:
J'aimerais savoir à quoi sert le ? et le : .Code:
1
2 Comparator<Personne> c = ascendant ? new ComparePersonne(): Collections.reveseOrder(new ComparePersonne());
Merci.
Salut,
Cela peut se lire de la sorte :
Donc dans ton cas si ascendant vaut true alors c recevra new ComparePersonne(), sinon il recevra Collections.reveseOrder(new ComparePersonne()).Code:condition ? valeur_si_vrai : valeur_si_faux
Avec un if traditionnel on écrirait ceci :
a++Code:
1
2
3
4
5
6 Comparator<Personne> c; if (ascendant) { c = new ComparePersonne(); } else { c = Collections.reveseOrder(new ComparePersonne()); }
Bonjour,
Tu es en présence d'un opérateur conditionnel.
Exemple :
est équivalent à l'instructionCode:
1
2 max = (a > b) ? a : b
Ce petit exemple très simple te permettra de comprendre ce qui se passe chez toi.Code:
1
2
3
4
5 if (a > b) max = a; else max = b;
[EDIT]Quand deux utilisateurs donnent une même réponse, j'imagine que la bienséance veut que le plus lent supprime sont post ?[/EDIT]
A +
Philippe.
C'est une syntaxe simplifiée du "if then else" pour les cas simples:
[EDIT] GRILLED :mrgreen:Code:
1
2 condition ? instruction si elle est vérifiée : instruction sinon
Merci pour vos réponses éclairéses et éclairantes.
Chicard,
N'oublie le :resolu: si tu considères que les réponses ont résolu ton problème.
Cheers,
Philippe.