Package | Description |
---|---|
cn.hutool.core.annotation |
注解包,提供增强型注解和注解工具类
|
cn.hutool.core.bean.copier |
Bean拷贝实现,包括拷贝选项等
|
cn.hutool.core.collection |
集合以及Iterator封装,包括集合工具CollUtil,Iterator和Iterable工具IterUtil
|
cn.hutool.core.exceptions |
特殊异常封装,同时提供异常工具ExceptionUtil
|
cn.hutool.core.lang.func |
函数封装
接口灵感来自于ActFramework 一个函数接口代表一个一个函数,用于包装一个函数为对象 在JDK8之前,Java的函数并不能作为参数传递,也不能作为返回值存在,此接口用于将一个函数包装成为一个对象,从而传递对象 |
cn.hutool.core.text |
提供文本相关操作的封装,还包括Unicode工具UnicodeUtil
|
cn.hutool.core.util |
提供各种工具方法,按照归类入口为XXXUtil,如字符串工具StrUtil等
|
cn.hutool.db |
Hutool-db是一个在JDBC基础上封装的数据库操作工具类,通过包装,使用ActiveRecord思想操作数据库。
|
cn.hutool.db.sql |
SQL语句和Statement构建封装
|
cn.hutool.poi.excel.sax.handler |
Sax读取中行处理器的定义和实现
|
Modifier and Type | Method and Description |
---|---|
static <A extends Annotation,R> |
AnnotationUtil.getAnnotationValue(AnnotatedElement annotationEle,
Func1<A,R> propertyName)
获取指定注解属性的值
如果无指定的属性方法返回null |
Modifier and Type | Method and Description |
---|---|
<P,R> CopyOptions |
CopyOptions.setIgnoreProperties(Func1<P,R>... funcs)
设置忽略的目标对象中属性列表,设置一个属性列表,不拷贝这些属性值,Lambda方式
|
Modifier and Type | Method and Description |
---|---|
static <K,V,E> Map<K,V> |
CollUtil.toMap(Iterable<E> values,
Map<K,V> map,
Func1<E,K> keyFunc,
Func1<E,V> valueFunc)
集合转换为Map,转换规则为:
按照keyFunc函数规则根据元素对象生成Key,按照valueFunc函数规则根据元素对象生成value组成新的Map |
static <K,V,E> Map<K,V> |
CollUtil.toMap(Iterable<E> values,
Map<K,V> map,
Func1<E,K> keyFunc,
Func1<E,V> valueFunc)
集合转换为Map,转换规则为:
按照keyFunc函数规则根据元素对象生成Key,按照valueFunc函数规则根据元素对象生成value组成新的Map |
static <K,V> Map<K,V> |
CollUtil.toMap(Iterable<V> values,
Map<K,V> map,
Func1<V,K> keyFunc)
集合转换为Map,转换规则为:
按照keyFunc函数规则根据元素对象生成Key,元素作为值 |
static <K,V,E> Map<K,V> |
IterUtil.toMap(Iterator<E> iterator,
Map<K,V> map,
Func1<E,K> keyFunc,
Func1<E,V> valueFunc)
集合转换为Map,转换规则为:
按照keyFunc函数规则根据元素对象生成Key,按照valueFunc函数规则根据元素对象生成value组成新的Map |
static <K,V,E> Map<K,V> |
IterUtil.toMap(Iterator<E> iterator,
Map<K,V> map,
Func1<E,K> keyFunc,
Func1<E,V> valueFunc)
集合转换为Map,转换规则为:
按照keyFunc函数规则根据元素对象生成Key,按照valueFunc函数规则根据元素对象生成value组成新的Map |
static <K,V> Map<K,V> |
IterUtil.toMap(Iterator<V> iterator,
Map<K,V> map,
Func1<V,K> keyFunc)
Iterator转换为Map,转换规则为:
按照keyFunc函数规则根据元素对象生成Key,元素作为值 |
Modifier and Type | Interface and Description |
---|---|
static interface |
CheckedUtil.Func1Rt<P,R> |
Modifier and Type | Method and Description |
---|---|
static <P,R> CheckedUtil.Func1Rt<P,R> |
CheckedUtil.uncheck(Func1<P,R> expression)
接收一个可以转化成 cn.hutool.core.lang.func.Func1 的Lambda表达式,当执行表达式抛出任何异常的时候,都会转化成运行时异常
如此一来,代码中就不用显示的try-catch转化成运行时异常
|
static <P,R> CheckedUtil.Func1Rt<P,R> |
CheckedUtil.uncheck(Func1<P,R> expression,
Supplier1<RuntimeException,Exception> rteSupplier)
接收一个可以转化成 cn.hutool.core.lang.func.Func1的Lambda表达式,和一个可以把Exception转化成RuntimeExceptionde的表达式,当执行表达式抛出任何异常的时候,都会转化成运行时异常
如此一来,代码中就不用显示的try-catch转化成运行时异常
|
Modifier and Type | Method and Description |
---|---|
static <T> String |
LambdaUtil.getFieldName(Func1<T,?> func)
获取lambda表达式Getter或Setter函数(方法)对应的字段名称,规则如下:
getXxxx获取为xxxx,如getName得到name。
|
static <P> String |
LambdaUtil.getMethodName(Func1<P,?> func)
获取lambda表达式函数(方法)名称
|
static <P,R> Class<P> |
LambdaUtil.getRealClass(Func1<P,R> func)
通过对象的方法或类的静态方法引用,然后根据
SerializedLambda.getInstantiatedMethodType() 获取lambda实现类传入lambda有参数且含有返回值的情况能够匹配到此方法: 引用特定类型的任意对象的实例方法:
Class<MyTeacher> functionClass = LambdaUtil.getRealClass(MyTeacher::getAge);
assertEquals(MyTeacher.class, functionClass);
引用静态带参方法:
Class<MyTeacher> staticFunctionClass = LambdaUtil.getRealClass(MyTeacher::takeAgeBy);
assertEquals(MyTeacher.class, staticFunctionClass);
|
static <T> SerializedLambda |
LambdaUtil.resolve(Func1<T,?> func)
解析lambda表达式,加了缓存。
|
Modifier and Type | Method and Description |
---|---|
static String |
CharSequenceUtil.replace(CharSequence str,
Pattern pattern,
Func1<Matcher,String> replaceFun)
替换所有正则匹配的文本,并使用自定义函数决定如何替换
replaceFun可以通过 Matcher 提取出匹配到的内容的不同部分,然后经过重新处理、组装变成新的内容放回原位。 |
static String |
CharSequenceUtil.replace(CharSequence str,
String regex,
Func1<Matcher,String> replaceFun)
替换所有正则匹配的文本,并使用自定义函数决定如何替换
|
Modifier and Type | Method and Description |
---|---|
static <E extends Enum<E>,C> |
EnumUtil.getBy(Func1<E,C> condition,
C value)
通过 某字段对应值 获取 枚举,获取不到时为
null |
static <E extends Enum<E>,C> |
EnumUtil.getBy(Func1<E,C> condition,
C value,
E defaultEnum)
通过 某字段对应值 获取 枚举,获取不到时为
defaultEnum |
static <E extends Enum<E>,F,C> |
EnumUtil.getFieldBy(Func1<E,F> field,
Function<E,C> condition,
C value)
通过 某字段对应值 获取 枚举中另一字段值,获取不到时为
null |
static String |
ReUtil.replaceAll(CharSequence str,
Pattern pattern,
Func1<Matcher,String> replaceFun)
替换所有正则匹配的文本,并使用自定义函数决定如何替换
replaceFun可以通过 Matcher 提取出匹配到的内容的不同部分,然后经过重新处理、组装变成新的内容放回原位。 |
static String |
ReUtil.replaceAll(CharSequence str,
String regex,
Func1<Matcher,String> replaceFun)
替换所有正则匹配的文本,并使用自定义函数决定如何替换
replaceFun可以通过 Matcher 提取出匹配到的内容的不同部分,然后经过重新处理、组装变成新的内容放回原位。 |
Modifier and Type | Method and Description |
---|---|
<T> T |
AbstractDb.query(Func1<Connection,PreparedStatement> statementFunc,
RsHandler<T> rsh)
|
Modifier and Type | Method and Description |
---|---|
static <T> T |
SqlExecutor.query(Connection conn,
Func1<Connection,PreparedStatement> statementFunc,
RsHandler<T> rsh)
|
Modifier and Type | Field and Description |
---|---|
protected Func1<List<Object>,T> |
AbstractRowHandler.convertFunc
行数据转换函数
|
Copyright © 2024. All rights reserved.