instanceof

如:判断是否为Integer类型

  1. if (obj instanceof Integer){
  2. //do something
  3. }

判断是否为基本类型

  1. /**
  2. * 是否为基本变量
  3. * @param obj
  4. */
  5. public boolean isPrimitive(Object obj){
  6. try{
  7. Field field = obj.getClass().getField("TYPE");
  8. Class clazz = (Class) field.get(null);
  9. return clazz.isPrimitive();
  10. }catch (NoSuchFieldException e){
  11. e.printStackTrace();
  12. }catch (IllegalAccessException e){
  13. e.printStackTrace();
  14. }
  15. return false;
  16. }

原理:我们注意到Interger或者String、Long基本类型封装中都有一行代码

  1. public static final Class<Integer> TYPE = (Class<Integer>) Class.getPrimitiveClass("int");