public int compare(Object ob1, Object ob2) { PersonName pdate1 = null; PersonName pdate2 = null; if (ob1 instanceof NurseVo) { NurseVo ps1 = (NurseVo) ob1; pdate1 = ps1.getMosIsNotNull() && ps1.getMos().getNameIsNotNull() ? ps1.getMos().getName() : null; } if (ob2 instanceof NurseVo) { NurseVo ps2 = (NurseVo) ob2; pdate2 = ps2.getMosIsNotNull() && ps2.getMos().getNameIsNotNull() ? ps2.getMos().getName() : null; } if (pdate1 != null) return pdate1.compareTo(pdate2) * direction; if (pdate2 != null) return (-1) * direction; return 0; }