Em relação ao julgamento vazio de String:
Copie o código e o código é o seguinte: //Isso está correto
if (seleção! = null &&! seleção.equals("")) {
ondeCláusula += seleção;
}
//Isso está errado
if (!selection.equals("") && seleção != null) {
ondeCláusula += seleção;
}
Nota: "==" compara os valores das próprias duas variáveis, ou seja, os primeiros endereços dos dois objetos na memória. E "equals()" compara se o conteúdo contido na string é o mesmo. Na segunda forma de escrever, uma vez que a seleção é realmente nula, uma exceção de ponteiro nulo será relatada diretamente quando o método equals for executado e a execução não continuará.
Determine se uma string é um número:
Copie o código do código da seguinte forma:
//Chama a função que vem com java
public static boolean isNumeric(Número da string) {
for (int i = número.comprimento(); --i >= 0;) {
if (!Character.isDigit(número.charAt(i))) {
retornar falso;
}
}
retornar verdadeiro;
}
//Utiliza expressões regulares
public static boolean isNumeric(Número da string) {
Padrão padrão = Pattern.compile("[0-9]*");
retornar padrão.matcher(str).matches();
}
//Utiliza código ASCII
public static boolean isNumeric(Número da string) {
for (int i = str.length(); --i >= 0;) {
int chr = str.charAt(i);
se (chr < 48 || chr > 57)
retornar falso;
}
retornar verdadeiro;
}