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 String |
getOriginalClassShortCanonicalName(Fn fn)
从 SerializedLambda 获取原始类的短名称(不包含包名)。
|
static <C> Class<C> |
getReturnTypeFromSignature(Fn fn)
从给定的函数式接口 `Fn` 中获取返回值的类型。
|
static Class<?> |
getUserGenericClassByField(Field field) |
static <T> T |
instance(Class<T> clazz,
Object... args) |
static Class<?> |
loadClass(String classCanonicalName) |
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)
Fn 获取对应的字段名。
该方法通过序列化 Lambda 表达式,获取实现方法的名称,并根据 Java Bean 规范进行处理:
处理完成后,将字段名首字母小写,确保符合 Java 命名规范。
Portions of this method are derived from: tk.mybatis.mapper.weekend.reflection.Reflections#fnToFieldName
Original Author: abel533
Licensed under the MIT License
fn - 代表字段的函数式接口public static String getOriginalClassCanonicalName(Fn fn)
fn - 代表字段的函数式接口public static String getOriginalClassShortCanonicalName(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–2025 Dynamic-SQL. All rights reserved.