[RESOLVIDO]comparar variavel com conteudo "[]"

Pessoal,

O conteudo de variavel analisesContratadas esta retornando “[]”, atravez do debug.

e estou tentando fazer um if , só que não esta fazendo o Syst…

como eu faço para fazer essa comparação ??

			if (analisesContratadas.equals("")) {
				System.err.println("****analisecontratadas nulll**** ");
			}	

De que tipo é a variável analisesContratadas?
Se for um list, o certo seria testar com isEmpty(). Aliás, para String também, é bem melhor do que usar equals("").

É um array? Você pode verificar assimif(analisesContratadas == null || analisesContratadas.length == 0){Assim verifica se está nulo, e se não estiver verifica se o array se encontra vazio.

é uma lista

coloquei assim : e funcionou

			
			if (analisesContratadas == null || analisesContratadas.size() == 0) {
				System.err.println("****analisecontratadas nulll**** ");
			}	
			

Bom, sendo uma lista, eu acho que o isEmpty() fica melhor, como o Vini sugeriu.

Só compare o tamanho com arrays, porque aí você não tem outra escolha :slight_smile:

Melhor ficaria se fosse assim:

[code] if (analisesContratadas == null || analisesContratadas.isEmpty()) {
System.err.println("analisecontratadas nulll ");
}

[/code]

Eu também sempre achei interessante ter um método que verifica se algum objeto está vazio, seja ele qual for. Algo assim: public static boolean isEmpty(Object object) { if (object == null) { return true; } else if (object instanceof CharSequence) { return ((CharSequence) object).toString().trim().isEmpty(); } else if (object instanceof Character) { return Character.isWhitespace((Character) object); } else if (object instanceof Collection) { return ((Collection<?>) object).isEmpty(); } else if (object.getClass().isArray()) { return Array.getLength(object) == 0; } return false; }Mas perceba que é necessário tomar um certo cuidado com o que você define como “vazio”.