Java provides the instanceof operator to test if an object is of a certain type, or a subclass of that type. The program can then choose to cast or not cast that object accordingly.
Object obj = Calendar.getInstance(); long time = 0; if(obj instanceof Calendar) { time = ((Calendar)obj).getTime(); } if(obj instanceof Date) { time = ((Date)obj).getTime(); // This line will never be reached, obj is not a Date type. }