Bonjour.

je suis en train de simplifier mon code et j'aimerais être sur d'avoir bien compris le matches.

Actuellement j'ai un if qui ressemble à ça (j'ai simplifié, il y a plus de valeur dans mon code...) :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
if (!"1".equals (valeur) &&  !"1A".equals (valeur) && !"1B".equals (valeur) ){
//action
}
Puis-je l'écrire plutôt comme ça :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
if(!valeur.matches("1|1A|1B") {
//action
}
De ce que je comprend c'est complétement équivalent, ou je me trompe ?

edit
en fait j'ai un doute à cause du début et de la fin.
Si valeur contient 14 par exemple mon test avec equals va renvoyer faux.
Mais le test avec matches ? va t'il renvoyer vrai ?
dois je plutôt l'écrire comme cela ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
if(!valeur.matches("^1$|^1A$|^1B$") {
//action
}