Concernant le jugement vide de String :
Copiez le code et le code est le suivant://C'est correct
if (selection != null && !selection.equals("")) {
clausewhere + = sélection ;
}
//C'est faux
if (!selection.equals("") && sélection != null) {
clausewhere + = sélection ;
}
Remarque : "==" compare les valeurs des deux variables elles-mêmes, c'est-à-dire les premières adresses des deux objets en mémoire. Et "equals()" compare si le contenu contenu dans la chaîne est le même. Dans la deuxième façon d'écrire, une fois que la sélection est vraiment nulle, une exception de pointeur nul sera signalée directement lorsque la méthode égale sera exécutée et l'exécution ne continuera pas.
Déterminez si une chaîne est un nombre :
Copiez le code comme suit :
// Appelez la fonction fournie avec Java
public static boolean isNumeric (numéro de chaîne) {
pour (int i = nombre.longueur(); --i >= 0;) {
if (!Character.isDigit(number.charAt(i))) {
renvoie faux ;
}
}
renvoie vrai ;
}
// Utiliser des expressions régulières
public static boolean isNumeric (numéro de chaîne) {
Modèle de modèle = Pattern.compile("[0-9]*");
return pattern.matcher(str).matches();
}
//Utiliser le code ASCII
public static boolean isNumeric (numéro de chaîne) {
pour (int i = str.length(); --i >= 0;) {
int chr = str.charAt(i);
si (chr < 48 || chr > 57)
renvoie faux ;
}
renvoie vrai ;
}