Nikita Rybak'ın yanıtını takiben, bir enum karşılaştırıcısına sahibim ve yalnızca boş mantığı buraya ekleyin.
public enum Orden implements Comparator<CmunParametrosDTO> {
ByStrDescripcion {
public int compare(CmunParametrosDTO item1, CmunParametrosDTO item2) {
if (item1.getStrDescripcion() == null && item2.getStrDescripcion() == null)
return 0;
if (item1.getStrDescripcion() == null)
return 1;
else if (item2.getStrDescripcion() == null)
return -1;
return item1.getStrDescripcion().compareTo(item2.getStrDescripcion());
}
}
public abstract int compare(CmunParametrosDTO item1, CmunParametrosDTO item2);
public Comparator<CmunParametrosDTO> ascending() {
return this;
}
public Comparator<CmunParametrosDTO> descending() {
return Collections.reverseOrder(this);
}
}
Bu formda, listemdeki sıralama yöntemini çağırabilirim.
if(isBolOrdAscendente()) Collections.sort(listado, CmunParametrosDTO.Orden.ByStrDescripcion .ascending());
else Collections.sort(listado, CmunParametrosDTO.Orden.ByStrDescripcion .descending());
NULL'lerini öndeki olarak artan şekilde sıralamak istediğinizde, ancak bunların sonuna düştüğünüzde ne olur? Özünde tamamen listeyi çevirin? – Jeremy
Bu kodu kullandım ve Collections.reverseOrder() öğesini denedim ve Collections.reverse (List) ile aynı şekilde çalışmadı; – Jeremy
@Jeremy evet u haklıyım aynı sorunla karşı karşıyayım tüm boş değer verileri önce gelir ve değerli veriler sonunda gelir. –