Respecto al juicio vacío de String:
Copie el código y el código es el siguiente: // Esto es correcto
if (selección! = nulo &&! selección.equals("")) {
dondeCláusula += selección;
}
//Esto está mal
if (!selección.equals("") && selección!= nulo) {
dondeCláusula += selección;
}
Nota: "==" compara los valores de las dos variables, es decir, las primeras direcciones de los dos objetos en la memoria. Y "equals()" compara si el contenido de la cadena es el mismo. En la segunda forma de escribir, una vez que la selección es realmente nula, se informará directamente una excepción de puntero nulo cuando se ejecute el método igual y la ejecución no continuará.
Determinar si una cadena es un número:
Copie el código de código de la siguiente manera:
// Llama a la función que viene con java
booleano estático público es numérico (número de cadena) {
for (int i = número.longitud(); --i >= 0;) {
if (!Character.isDigit(número.charAt(i))) {
devolver falso;
}
}
devolver verdadero;
}
// Usa expresiones regulares
booleano estático público es numérico (número de cadena) {
Patrón patrón = Pattern.compile("[0-9]*");
devolver patrón.matcher(str).matches();
}
//Utiliza código ASCII
booleano estático público es numérico (número de cadena) {
para (int i = str.length(); --i >= 0;) {
int chr = str.charAt(i);
si (chr < 48 || chr > 57)
devolver falso;
}
devolver verdadero;
}