Guarda che non ho fatto nulla di speciale...è una normale operazione di casting e dubito che alla Sun non lo sapessero :gren:

Tu hai dichiarato data come un Comparable, quindi su data puoi solo invocare metodi dichiarati nell'interfaccia Comparable. intValue è un metodo della classe Integer, non di Comparable. Tu invochi intValue su data solo perchè sai che in realtà data lo istanzi creando un Integer. Per poter invocare un metodo di Integer su data devi quindi fare il cast ad Integer con la sintassi

(Integer)data

A questo punto puoi invocare il metodo intValue

((Integer)data).intValue