se le date sono 1/12/2005 e 1/1/2006 il codice non funziona

fai così
if (data1.getTime()-data2.getTime() < 1000*60*60*24*30*6)
ma è poco preciso perchè i mesi non sono tutti di 30 gg

con i Calendar è facile

Calendar c1 = Calendar.getInstance();
c1.setTime(data1);
c1.add(Calendar.MONTH, 6);
if (c2.before(c1))