| Constructor and Description |
|---|
FieldUtil() |
| Modifier and Type | Method and Description |
|---|---|
static Field |
getDeclaredField(Class<?> beanClass,
String name)
获取本类定义的指定名称的字段,包括私有字段,但是不包括父类字段
|
static Field[] |
getDeclaredFields(Class<?> beanClass,
Predicate<Field> fieldPredicate)
获得当前类声明的所有字段(包括非public字段),但不包括父类的字段
|
static Field |
getField(Class<?> beanClass,
String name)
查找指定类中的指定name的字段(包括非public字段),也包括父类和Object类的字段, 字段不存在则返回
null |
static Map<String,Field> |
getFieldMap(Class<?> beanClass)
获取指定类中字段名和字段对应的有序Map,包括其父类中的字段
如果子类与父类中存在同名字段,则父类字段忽略 |
static String |
getFieldName(Field field)
获取字段名,如果存在
Alias注解,读取注解的值作为名称 |
static String |
getFieldName(Field field,
boolean useAlias)
获取字段名,可选是否使用
Alias注解,读取注解的值作为名称 |
static Field[] |
getFields(Class<?> beanClass)
获得一个类中所有字段列表,包括其父类中的字段
如果子类与父类中存在同名字段,则这两个字段同时存在,子类字段在前,父类字段在后。 |
static Field[] |
getFields(Class<?> beanClass,
Predicate<Field> fieldPredicate)
获得一个类中所有满足条件的字段列表,包括其父类中的字段
如果子类与父类中存在同名字段,则这两个字段同时存在,子类字段在前,父类字段在后。 |
static Field[] |
getFieldsDirectly(Class<?> beanClass,
boolean withSuperClassFields)
获得一个类中所有字段列表,直接反射获取,无缓存
如果子类与父类中存在同名字段,则这两个字段同时存在,子类字段在前,父类字段在后。 |
static Object[] |
getFieldsValue(Object obj)
获取所有字段的值
|
static Object[] |
getFieldsValue(Object obj,
Predicate<Field> filter)
获取所有字段的值
|
static Object |
getFieldValue(Object obj,
Field field)
获取字段值
|
static Object |
getFieldValue(Object obj,
String fieldName)
获取字段值
|
static Object |
getStaticFieldValue(Field field)
获取静态字段值
|
static boolean |
hasField(Class<?> beanClass,
String name)
查找指定类中是否包含指定名称对应的字段,包括所有字段(包括非public字段),也包括父类和Object类的字段
|
static boolean |
isOuterClassField(Field field)
是否为父类引用字段
当字段所在类是对象子类时(对象中定义的非static的class),会自动生成一个以"this$0"为名称的字段,指向父类对象 |
static void |
setFieldValue(Object obj,
Field field,
Object value)
设置字段值,如果值类型必须与字段类型匹配,会自动转换对象类型
|
static void |
setFieldValue(Object obj,
Field field,
Object value,
Converter converter)
设置字段值,如果值类型必须与字段类型匹配,会自动转换对象类型
|
static void |
setFieldValue(Object obj,
String fieldName,
Object value)
设置字段值
|
static void |
setStaticFieldValue(Field field,
Object value)
设置静态(static)字段值
|
public static boolean isOuterClassField(Field field)
field - 字段public static boolean hasField(Class<?> beanClass, String name) throws SecurityException
beanClass - 被查找字段的类,不能为nullname - 字段名SecurityException - 安全异常public static String getFieldName(Field field)
Alias注解,读取注解的值作为名称field - 字段public static String getFieldName(Field field, boolean useAlias)
Alias注解,读取注解的值作为名称field - 字段useAlias - 是否检查并使用Alias注解public static Field getDeclaredField(Class<?> beanClass, String name)
beanClass - Bean的Classname - 字段名称nullpublic static Field getField(Class<?> beanClass, String name) throws SecurityException
nullbeanClass - 被查找字段的类,不能为nullname - 字段名SecurityException - 安全异常public static Map<String,Field> getFieldMap(Class<?> beanClass)
beanClass - 类public static Field[] getFields(Class<?> beanClass) throws SecurityException
beanClass - 类SecurityException - 安全检查异常public static Field[] getFields(Class<?> beanClass, Predicate<Field> fieldPredicate) throws SecurityException
beanClass - 类fieldPredicate - field过滤器,过滤掉不需要的field,Predicate.test(Object)为true保留,null表示全部保留SecurityException - 安全检查异常public static Field[] getDeclaredFields(Class<?> beanClass, Predicate<Field> fieldPredicate) throws SecurityException
beanClass - 类fieldPredicate - field过滤器,过滤掉不需要的field,Predicate.test(Object)为true保留,null表示全部保留SecurityException - 安全检查异常public static Field[] getFieldsDirectly(Class<?> beanClass, boolean withSuperClassFields) throws SecurityException
beanClass - 类withSuperClassFields - 是否包括父类的字段列表SecurityException - 安全检查异常public static Object getFieldValue(Object obj, String fieldName) throws HutoolException
obj - 对象,如果static字段,此处为类fieldName - 字段名HutoolException - 包装IllegalAccessException异常public static Object getStaticFieldValue(Field field) throws HutoolException
field - 字段HutoolException - 包装IllegalAccessException异常public static Object getFieldValue(Object obj, Field field) throws HutoolException
obj - 对象,static字段则此字段为nullfield - 字段HutoolException - 包装IllegalAccessException异常public static Object[] getFieldsValue(Object obj)
obj - bean对象,如果是static字段,此处为类classpublic static Object[] getFieldsValue(Object obj, Predicate<Field> filter)
obj - bean对象,如果是static字段,此处为类classfilter - 字段过滤器,null返回原集合public static void setFieldValue(Object obj, String fieldName, Object value) throws HutoolException
obj - 对象,static字段则此处传ClassfieldName - 字段名value - 值,值类型必须与字段类型匹配,不会自动转换对象类型HutoolException - 包装IllegalAccessException异常public static void setStaticFieldValue(Field field, Object value) throws HutoolException
field - 字段value - 值,值类型必须与字段类型匹配,不会自动转换对象类型HutoolException - UtilException 包装IllegalAccessException异常public static void setFieldValue(Object obj, Field field, Object value) throws HutoolException
obj - 对象,如果是static字段,此参数为nullfield - 字段value - 值,类型不匹配会自动转换对象类型HutoolException - UtilException 包装IllegalAccessException异常public static void setFieldValue(Object obj, Field field, Object value, Converter converter) throws HutoolException
obj - 对象,如果是static字段,此参数为nullfield - 字段value - 值,类型不匹配会自动转换对象类型converter - 转换器,用于转换给定value为字段类型,null表示不转换HutoolException - UtilException 包装IllegalAccessException异常Copyright © 2025. All rights reserved.