Reputation: 723
I have two methods like this
public void updateA (Object obj) throws CommonException
{
if ( !(obj instanceof A) )
{
throw new CommonException(obj);
}
// other codes
}
public void updateB (Object obj) throws CommonException
{
if ( !(obj instanceof B) )
{
throw new CommonException(obj);
}
// other codes
}
Now I want to extract the instance checking part into a separate method. Is it possible to do as follows?
public void chkInstance (Object obj, Class classType) throws CommonException
{
if ( !(obj instanceof classType) )
{
throw new CommonException(obj);
}
}
Upvotes: 0
Views: 1962
Reputation: 36852
Use Class.isInstance
:
if(!(classType.isInstance(obj)) {
// ...
}
The documentation actually flat-out states (emphasis mine):
Determines if the specified Object is assignment-compatible with the object represented by this Class. This method is the dynamic equivalent of the Java language instanceof operator.
Upvotes: 3