Supérieur et inférieur à un énoncé
Je me demandais, avez-vous un moyen sympa de faire cela ?
if(orderBean.getFiles().size() > 0 && orderBean.getFiles().size() < 5)
sans déclarer une variable qui n'est pas nécessaire n'importe où ailleurs ?
int filesCount = orderBean.getFiles().size();
if(filesCount > 0 && filesCount < 5) {
Je veux dire, dans la boucle for ", déclarant conditions" pour l'itération, on peut déclarer une variable et en préciser les conditions. Ici, on ne peut pas le faire, et l'un ne peut faire quelque chose comme
if(5 > orderBean.getFiles().size() > 0)
source d'informationauteur lisak
Vous devez vous connecter pour publier un commentaire.
Utilitaire Simple méthode:
Plusieurs bibliothèques de tiers ont des classes encapsulant le concept de gammetels que Apache commons-lang Gamme (et sous-classes).
À l'aide de classes comme cela, vous pourrez exprimer votre contrainte similaire à:
avec le bonus ajouté à la gamme de l'objet peut être défini comme une valeur constante ailleurs dans la classe.
Cependant, sans tirer dans d'autres bibliothèques et à l'aide de leurs classes, de Java forte syntaxe signifie que vous ne pouvez pas le massage de la langue elle-même pour assurer cette fonction à merveille. Et (à mon avis), en tirant dans une troisième partie de la bibliothèque juste pour cette petite quantité de sucre syntaxique n'est pas la peine.
Si getFiles() renvoie un
java.util.Collection
!getFiles().isEmpty() && taille<5 peut être OK.Sur l'autre main, sauf si vous encapsuler le conteneur qui fournit une méthode telle que
boolean sizeBetween(int min, int max)
.C'est une vilaine façon de le faire. Je voudrais juste utiliser une variable locale.
EDIT: Si size() > 0.
java n'est pas python.
vous ne pouvez pas faire quelque chose comme cela
vous avez mentionné le moyen le plus facile :
de
Si c'est vraiment vous dérange, pourquoi ne pas écrire votre propre méthode
isBetween(orderBean.getFiles().size(),0,5)
?Une autre option est d'utiliser
isEmpty
comme il est un peu plus clair:S'il vous plaît écrire une méthode statique quelque part et à écrire:
Aujourd'hui, vous pouvez utiliser lodash: