Disons que j'ai une liste de plusieurs variables primitives :
final int a = 3;
final int b = 4;
final int c = 4;
final int d = 4;
final int e = 4;
Quel est le moyen idiomatique de s'assurer qu'ils ont tous la même valeur ? La façon la plus évidente est simplement
if (a == b && a == c && a == d && a == e) // ...
Mais je pense que cela est source d'erreurs et difficile à lire, en particulier lorsque les variables ont des noms propres, contrairement à mon exemple.
if ( numCategories == numTypes && numCategories == numColours
&& numCategories == numStyles && numCategories == numPrices) // ...
Ce serait bien si nous pouvions faire la comparaison de cette manière :
if (a == b == c == d == e)
mais il est évident que a == b
se résout en un booléen, nous ne pouvons donc pas le comparer à c
.
Existe-t-il une fonction de bibliothèque dans le JDK ou une autre bibliothèque utilitaire avec une signature similaire ?
static boolean areEqual(int... numbers)
nous pourrions alors l'utiliser comme suit :
if (areEqual(a, b, c, d, e)) //...
Je pourrais facilement écrire une telle fonction moi-même, mais pourquoi réinventer la roue si ce n'est pas nécessaire ?
Il y a peut-être une autre façon idiomatique d'accomplir cela qui m'échappe.