Verificação

Olá galera!

Estou com o seguinte problema.

Como faço para comparar dois campos, exemplo abaixo:

O método abaixo funciona, mas o que compara “maior” > não funciona!


		if (veiculo.getDataVenda() == (veiculo.getDataCompra())){
			validator.add(new ValidationMessage(
					"Data da Venda não pode ser maior que a Data da compra.", "veiculo.datas"));

“maior” >


		if (veiculo.getDataVenda() > (veiculo.getDataCompra())){
			validator.add(new ValidationMessage(
						"Data da Venda não pode ser maior que a Data da compra.", "veiculo.datas"));

vlw!

Qual é o tipo de retorno? Date, String, Long??

Retorna uma data (Date) ou null caso esteje vazio!

Oi,

tenta usar o método compareTo(Date anotherDate) da própria classe java.util.Date.

Só um adendo muito importante, o argumento do método não pode ser nulo, caso seja, irá gerar um NullPointerException, mas um simples if resolve isso :slight_smile:
Veja se resolve sua necessidade:

int result = 0; if(veiculo.getDataVenda() != null && veiculo.getDataCompra != null) result = veiculo.getDataVenda().compareTo(veiculo.getDataCompra);

E de acordo com a interface Comparable e a documentação desse método: the value 0 if the argument Date is equal to this Date; a value less than 0 if this Date is before the Date argument; and a value greater than 0 if this Date is after the Date argument.
Basta pegar o retorno e tratar como quiser :slight_smile:

Abraços.

Blz !

deu certo! fiz da seguinte forma!


		if (veiculo.getDataCompra() != null && veiculo.getDataVenda() != null && 
				(veiculo.getDataVenda().before(veiculo.getDataCompra()))){
			validator.add(new ValidationMessage(
					"A Data da Compra não pode ser maior que a Data da Venda.", "veiculo.datas"));
		}

abraços