给一个判断类型的详细demo
时间: 2023-11-26 18:04:08 浏览: 27
好的,以下是一个使用反射判断字段类型并进行相应操作的示例程序:
```java
import java.lang.reflect.Field;
public class FieldTypeDemo {
public static void main(String[] args) throws NoSuchFieldException, IllegalAccessException {
MyClass obj = new MyClass();
obj.setFieldName(123);
Field field = MyClass.class.getDeclaredField("fieldName");
Class<?> fieldType = field.getType();
if (fieldType.isAssignableFrom(Integer.class)) {
System.out.println("字段类型为整型");
int value = field.getInt(obj);
System.out.println("字段值为:" + value);
} else {
System.out.println("字段类型不为整型");
}
}
}
class MyClass {
private int fieldName;
public int getFieldName() {
return fieldName;
}
public void setFieldName(int fieldName) {
this.fieldName = fieldName;
}
}
```
在上述示例中,我们首先创建了一个MyClass对象,并将其fieldName字段设置为123。然后,我们使用反射机制获取该字段的类型,并判断该类型是否为Integer类型。如果是Integer类型,则输出该字段类型为整型,并使用Field类的getInt()方法获取字段值,并输出该值。否则,输出该字段类型不为整型。
在以上示例中,我们已经演示了如何判断一个字段的类型,并根据类型进行相应的操作。你可以根据自己的需求进行修改和扩展。