Calcular diferencias en días entre dos fechas

Estimados

Me presentaron el siguiente problema en el trabajo calcular entre dos fecha cual seria la diferencia en días de ambas.

Ejemplo :

public static void main(String[] args) {
// Crear una fecha new Date( 2010, 12, 11 ); Esta deprecada
Calendar cal = Calendar.getInstance();
cal.set(Calendar.DATE, 1);
// Enero = 0, asi que Diciembre = 11
cal.set(Calendar.MONTH, 11);
cal.set(Calendar.YEAR, 2010);

Date fecha1 = cal.getTime();
Date fecha2 = new Date();

Long dif = difDiasEntre2fechas( fecha1 , fecha2 );

System.out.println( "Dif " + dif );

}

/*
* getTime() Returns the number of milliseconds since
* January 1, 1970, 00:00:00 GMT represented by this Date object.
* http://download.oracle.com/javase/1.4.2/docs/api/java/util/Date.html#getTime()
* Ciendo Mayo fecha2
*/
public static long difDiasEntre2fechas( Date fecha1 , Date fecha2 ){

long difms = fecha2.getTime() - fecha1.getTime();
long difd=difms / (1000 * 60 * 60 * 24);

return difd;
}

Espero que les sea de utilidad.

Ahora si tienen un ejemplo mejor agradecería que me la envíen Saludos.