Generics: Problemas ao utilizar Generics em métodos[Resolvido]

1 resposta
Mantu

Olá pessoal.
Estou experimentando o tal do generics, mas não consigo entender o que acontece com esta classe minha:

public class EmptyValidator {
	private EmptyValidator() {}
	
	public static <T>void val(T obj, String message) {
		if(obj == null || (obj instanceof String) ? "".equals(obj) : false)
			throw new EmptyException(message);
	}
}

class TestEmptyValidator{
	public static void main(String[] args) {
		String s = null;
		EmptyValidator.<String>val(s, "bla");
	}
}

class EmptyException
	extends
		RuntimeException
{
	public EmptyException(String message) {
		super(message);
	}
}

A idéia dessa classe é ser um utilitário pra facilitar a verificação de se um objeto é nulo (ou vazio, no caso de um String)

Quando executo a classe TestEmptyValidator, esperava que fosse lançada a tal da EmptyException, mas ele não entra no if, como se a condição fosse false.

No que eu estou errando?

=========================================
===================EDIT===================
=========================================

Desculpem. Falta de atenção minha… O problema é no if: precedencia de operadores.

if(obj == null || ((obj instanceof String) ? "".equals(obj) : false))

1 Resposta

O

será que não é por causa do espaço no -> " "

Criado 10 de novembro de 2006
Ultima resposta 13 de nov. de 2006
Respostas 1
Participantes 2