public class ReflectUtils extends Object
| 限定符和类型 | 字段和说明 |
|---|---|
static Pattern |
GET_PATTERN |
static Pattern |
IS_PATTERN |
static Pattern |
START_UPPER_PATTERN |
| 限定符和类型 | 方法和说明 |
|---|---|
static String |
fnToFieldName(Fn fn)
根据传入的函数式接口 `Fn` 获取对应的字段名。
|
static List<Field> |
getAllFields(Class<?> clazz) |
static List<Field> |
getAllFields(Class<?> clazz,
Function<Field,Boolean> filterRules)
获取指定类中的所有字段
|
static Object |
getFieldValue(Object target,
Field field) |
static List<Class<?>> |
getGenericTypes(Class<?> clazz)
获取指定类的泛型类型。
|
static List<Class<?>> |
getGenericTypes(Class<?> clazz,
Class<?>... filterRawType)
获取指定类的泛型类型。
|
static String |
getOriginalClassCanonicalName(Fn fn)
从 SerializedLambda 获取原始类的全限定名称。
|
static <C> Class<C> |
getReturnTypeFromSignature(Fn fn)
从给定的函数式接口 `Fn` 中获取返回值的类型。
|
static <T> T |
instance(Class<T> clazz,
Object... args) |
static void |
makeAccessible(Field field) |
static void |
setFieldValue(Object target,
Field field,
Object value) |
public static final Pattern GET_PATTERN
public static final Pattern START_UPPER_PATTERN
public static final Pattern IS_PATTERN
public static List<Field> getAllFields(Class<?> clazz, Function<Field,Boolean> filterRules)
clazz - 指定类filterRules - 自定义过滤规则,只选择匹配到的属性public static String fnToFieldName(Fn fn)
该方法通过序列化 Lambda 表达式,获取实现方法的名称,并根据 Java Bean 规范进行处理。 主要处理以下几种情况:
此外,该方法会将字段名的首字母小写,确保符合常规的 Java 命名规范。
fn - 代表字段的函数式接口public static String getOriginalClassCanonicalName(Fn fn)
fn - 代表字段的函数式接口public static <C> Class<C> getReturnTypeFromSignature(Fn fn)
该方法通过 `SerializedLambda` 获取函数的签名信息,解析其中的返回值类型描述符,并将其转换为对应的 Java 类。
C - 返回值的类型fn - 代表字段的函数式接口RuntimeException - 如果无法找到对应的类public static List<Class<?>> getGenericTypes(Class<?> clazz)
clazz - 要解析的类public static List<Class<?>> getGenericTypes(Class<?> clazz, Class<?>... filterRawType)
clazz - 要解析的类filterRawType - (可选)用于筛选的原始类型(Raw Type),例如接口或类的类型public static void makeAccessible(Field field)
Copyright © 2024 Dynamic-SQL. All rights reserved.