java 如何判断类型
判断基本数据类型
使用 instanceof 关键字可以判断对象是否为某个类的实例。基本数据类型的包装类可以通过这种方式判断:
Object obj = Integer.valueOf(5);
if (obj instanceof Integer) {
System.out.println("对象是Integer类型");
}
获取对象的类信息
通过 getClass() 方法可以获取对象的运行时类:
String str = "Hello";
Class<?> clazz = str.getClass();
System.out.println(clazz.getName()); // 输出 java.lang.String
判断基本类型的Class对象
对于基本类型,可以直接使用对应的 .class 属性:

Class<?> intClass = int.class;
Class<?> doubleClass = double.class;
反射检查字段和方法类型
使用Java反射API可以检查字段和方法的具体类型:
Field field = MyClass.class.getDeclaredField("fieldName");
Class<?> fieldType = field.getType();
Method method = MyClass.class.getMethod("methodName");
Class<?> returnType = method.getReturnType();
处理泛型类型
对于泛型类型,需要使用 ParameterizedType 来获取实际的类型参数:

Type type = field.getGenericType();
if (type instanceof ParameterizedType) {
Type[] actualTypeArgs = ((ParameterizedType)type).getActualTypeArguments();
}
使用Class对象的isAssignableFrom方法
该方法可以检查一个类是否与另一个类相同或是其超类/接口:
boolean isNumber = Number.class.isAssignableFrom(Integer.class); // 返回true
数组类型判断
对于数组类型,可以使用 Class.isArray() 方法判断:
int[] arr = new int[10];
boolean isArray = arr.getClass().isArray(); // 返回true






