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.
}