Ordenar Collection - java.lang.NullPointerException

4 respostas
Marques

Colegas,

O trecho abaixo, funciona legal quando as datas a serem comparadas são instâncias de Date.
Porém se for null aí eu recebo um java.lang.NullPointerException na linha int compData = dateD1.compareTo(dateD2);
Como fazer para que ele compare também considere essas datas (null) na comparação?

Muito obrigado,

Marques
final Collator coll = Collator.getInstance(new Locale("pt", "BR"));
		Collections.sort (lctos, new Comparator() {  
			            public int compare(Object o1, Object o2) { 
			            	GenericDto d1 = (GenericDto) o1;
			            	GenericDto d2 = (GenericDto) o2;
			            	Date dateD1 = (Date) d1.getAtrib4();
		                	Date dateD2 = (Date) d2.getAtrib4();
		                	
		                	int compData = dateD1.compareTo(dateD2);	
		                    int compNome = coll.compare (d1.getAtrib9(), d2.getAtrib9());  
		                    
		                    if (compData != 0) return compData;
		                     	return compNome;  
			             }  
			         });

4 Respostas

thegoergen

Como assim comparar NULL???

Null é maior ou menor que 12/11/2008 ???

C

Cara, se não estou enganado você não pode chaamr métodos em cima de um Objeto Null…

No caso de int compData = dateD1.compareTo(dateD2);

Se dateD1 for Null ele vai tentar chamar um método em cima de algo vazio…dai o erro.
Se dateD2 for Null não tem problema!

Se você estiver usando o Eclipse ele da um warning falando sobre isso.

:wink:

thegoergen

caio77:
Cara, se não estou enganado você não pode chaamr métodos em cima de um Objeto Null…

No caso de int compData = dateD1.compareTo(dateD2);

Se dateD1 for Null ele vai tentar chamar um método em cima de algo vazio…dai o erro.
Se dateD2 for Null não tem problema!

Se você estiver usando o Eclipse ele da um warning falando sobre isso.

:wink:

Pelo que me lembro, acho que é isso… 8)

H

Para se ordenar a data precisa estar presente não importa se Data 1 ou Data 2. Trate a exception para conseguir ordenar.

http://emdia.wordpress.com/2008/11/01/ordenando-uma-lista-de-objeto/

Criado 26 de novembro de 2008
Ultima resposta 26 de nov. de 2008
Respostas 4
Participantes 4