instanceof
如:判断是否为Integer类型
if (obj instanceof Integer){
//do something
}
判断是否为基本类型
/**
* 是否为基本变量
* @param obj
*/
public boolean isPrimitive(Object obj){
try{
Field field = obj.getClass().getField("TYPE");
Class clazz = (Class) field.get(null);
return clazz.isPrimitive();
}catch (NoSuchFieldException e){
e.printStackTrace();
}catch (IllegalAccessException e){
e.printStackTrace();
}
return false;
}
原理:我们注意到Interger或者String、Long基本类型封装中都有一行代码
public static final Class<Integer> TYPE = (Class<Integer>) Class.getPrimitiveClass("int");