Partiamo dalla premessa che cose del tipo Date.valueOf((String.valueOf(data[i]))) hanno davvero veramente poco senso. E inoltre il confronto con != NON ha affatto senso (sono oggetti ... queste sono "basi" di Java ..).
E comunque: da che cosa parti? (cosa è quel data[i] ?) Se parti con l'avere una stringa con la data da salvare su DB, allora: a) stabilisci in che formato l'utente deve inserire la data; b) usa poi un apposito DateFormat per "parsare" la stringa in un java.util.Date (SimpleDateFormat se è un formato personalizzato oppure il DateFormat ottenibile da uno dei metodi factory).
E poi per vedere se è "diverso" si usa equals() (ovviamente in senso "negato": not equals).