java 中 获取反射Field字段类型,比如 属于字符串还是int
时间: 2024-01-28 08:02:51 浏览: 111
要获取反射Field字段类型,可以使用 Field 类的 getType() 方法。该方法返回一个 Class 对象,表示该字段的类型。然后可以使用 Class 类的 getName() 方法获取类型的名称,从而判断字段类型。
以下是一个示例代码:
```java
import java.lang.reflect.Field;
public class ReflectionDemo {
public static void main(String[] args) throws Exception {
MyClass obj = new MyClass();
Field field = obj.getClass().getDeclaredField("myField");
Class<?> fieldType = field.getType();
String typeName = fieldType.getName();
System.out.println("Field type: " + typeName);
}
}
class MyClass {
public String myField;
// public int myField;
}
```
在这个示例中,我们定义了一个 MyClass 类,它有一个字符串类型的 myField 字段。在 ReflectionDemo 类中,我们创建了一个 MyClass 对象,并使用反射获取它的 myField 字段的类型。然后,我们使用 Class 类的 getName() 方法获取类型的名称,并打印输出。如果将 myField 的类型改为 int,再运行代码,可以看到输出结果为 "Field type: int"。
阅读全文