Well it returns false because obj is not an Integer
, it's a reference to a String
object.
Object obj = "1234";
try {
int value = ((Integer) obj);
} catch (ClassCastException e) {
// failed
}
or
Object obj = "1234";
try {
int value = Integer.parseInt((String)obj);
} catch (NumberFormatException e) {
// failed
}