public class BeanUtil extends Object
| 限定符和类型 | 字段和说明 |
|---|---|
static com.fasterxml.jackson.databind.ObjectMapper |
JSON_MAPPER |
| 构造器和说明 |
|---|
BeanUtil() |
| 限定符和类型 | 方法和说明 |
|---|---|
static <T> List<T> |
array2list(T[]... arrays) |
static Map<String,String> |
array2map(String... params) |
static String |
camel_(String str)
驼峰转下划线
userName : user_name
|
static String |
camel(String key) |
static String |
Camel(String key) |
static String |
camel(String key,
boolean hold)
转驼峰
|
static String |
Camel(String key,
boolean hold) |
static String |
checkTable(Class<?> clazz) |
static void |
clearEmpty(List<Object> list) |
static void |
clearEmpty(List<Object> list,
boolean recursion)
删除空值
|
static void |
clearEmpty(Map<String,Object> map) |
static void |
clearEmpty(Map<String,Object> map,
boolean recursion)
删除空值
|
static int |
closest(BigDecimal[] array,
BigDecimal value) |
static int |
closest(double[] array,
double value) |
static int |
closest(Double[] array,
double value) |
static int |
closest(float[] array,
float value) |
static int |
closest(Float[] array,
float value) |
static int |
closest(int[] array,
int value) |
static int |
closest(Integer[] array,
int value) |
static int |
closest(List<BigDecimal> array,
BigDecimal value) |
static int |
closest(List<Double> array,
double value) |
static int |
closest(List<Float> array,
float value) |
static int |
closest(List<Integer> array,
int value) |
static int |
closest(List<Long> array,
long value) |
static int |
closest(List<Short> array,
short value) |
static int |
closest(long[] array,
long value) |
static int |
closest(Long[] array,
long value) |
static int |
closest(short[] array,
short value)
集合中与value差值最小的成员的下标
|
static int |
closest(Short[] array,
short value) |
static String |
concat(double[] list) |
static String |
concat(double[] list,
String split) |
static String |
concat(float[] list) |
static String |
concat(float[] list,
String split) |
static String |
concat(int[] list) |
static String |
concat(int[] list,
String split) |
static String |
concat(List<?> list) |
static String |
concat(List<?> list,
String split) |
static String |
concat(List<?> list,
String key,
String split)
数组拼接成字符串
|
static String |
concat(long[] list) |
static String |
concat(long[] list,
String split) |
static String |
concat(short[] list) |
static String |
concat(short[] list,
String split) |
static <T> String |
concat(T[] list) |
static <T> String |
concat(T[] list,
String split) |
static <T> String |
concat(T[] list,
String key,
String split) |
static <T> boolean |
contain(Collection<T> list,
T obj,
List<String> keys) |
static <T> boolean |
contain(Collection<T> list,
T obj,
String... keys)
是否包含
|
static Map<String,Object> |
copy(Map<String,Object> src,
Map<String,Object> copy) |
static Map<String,Object> |
copy(Map<String,Object> src,
Map<String,Object> copy,
List<String> keys) |
static Map<String,Object> |
copy(Map<String,Object> src,
Map<String,Object> copy,
String... keys) |
static Map<String,String> |
createMap(String... params) |
static <T> List<T> |
cuts(Collection<T> list,
int begin,
int end)
集合截取
|
static <T> List<List<T>> |
descartes(List<List<T>> lists)
合成笛卡尔组合
|
static Object |
deserialize(byte[] in) |
static <T> Collection<T> |
distinct(Collection<T> list,
List<String> keys) |
static <T> Collection<T> |
distinct(Collection<T> list,
String... keys)
去重
|
static <T> boolean |
equals(T obj1,
T obj2,
List<String> keys) |
static <T> boolean |
equals(T obj1,
T obj2,
String... keys) |
static Object |
evl(Object src,
String... keys) |
static List<Object> |
extract(Collection<?> list,
String key)
提取集合中每个条目的key属性的值
如提取用户列表中的所有用户ID
|
static Object |
extract(Object src,
boolean voluntary,
String... keys)
递归提取src中的value
如
{
key1:{
key11:{
key111:111 //提取111 recursion(map,key1,key11,key111)
},
key12:{
key121:{
key1211:1211,
key1212:1212 //提取1212 recursion(map,key1, key12, key121, key1212)
}
}
}
}
|
static Object |
extract(Object src,
String... keys) |
static List<Map<String,Object>> |
extracts(Collection<?> list,
String... keys)
提取集合中每个条目的多个key属性的值
如提取用户列表中的所有用户ID,CODE
|
static Collection<Object> |
fetch(Collection<Object> objs,
String... keys)
提取指定属性值
|
static Object |
fetch(Object obj,
String... keys) |
static Object |
getAnnotationValue(Field field,
Class clazz,
String property)
属性注解值
|
static List<Class> |
getClasses(String pack,
Class... bases)
pack包下的所有类 不包括jar包中定义类
|
static String |
getColumn(Class<?> clazz,
String field,
boolean checkInsert,
boolean checkUpdate) |
static String |
getColumn(Field field,
boolean checkInsert,
boolean checkUpdate)
属性对应的列
|
static Field |
getField(Class<?> clazz,
String name) |
static Field |
getField(Class<?> clazz,
String name,
boolean recursion) |
static List<Field> |
getFields(Class<?> clazz)
提取类及父类的所有属性
|
static List<String> |
getFieldsName(Class<?> clazz) |
static Object |
getFieldValue(Object obj,
Field field) |
static Object |
getFieldValue(Object obj,
String field) |
static Object |
getFieldValue(Object obj,
String field,
boolean recursion) |
static List<String> |
getMapKeys(Map map) |
static Method |
getMethod(Class<?> clazz,
String name,
boolean recursion,
Class<?>... parameterTypes) |
static Method |
getMethod(Class<?> clazz,
String name,
Class<?>... parameterTypes) |
static String |
getPrimaryKey(Class<?> clazz)
主键列名
|
static Object |
getPrimaryValue(Object obj) |
static Object |
getValueByColumn(Object obj,
String column)
根据列名读取属性值
|
static boolean |
isJson(Object json) |
static <T> List<T> |
join(List<T> list,
T... items) |
static void |
join(Map src,
Map copy) |
static void |
join(Map src,
Map copy,
boolean over) |
static <T> T |
json2oject(String json,
Class<T> clazz) |
static <T> T |
json2oject(String json,
Class<T> clazz,
com.fasterxml.jackson.annotation.JsonInclude.Include include) |
static <T> T[] |
list2array(List<T> list) |
static String |
map2json(Map<String,?> map) |
static <T> T |
map2object(Map<String,?> map,
Class<T> clazz) |
static <T> T |
map2object(Map<String,?> map,
Class<T> clazz,
boolean recursion) |
static String |
map2string(Map<String,?> map) |
static String |
map2string(Map<String,?> map,
String join,
String separator,
boolean ignoreEmpty,
boolean sort)
按key升序拼接
|
static String |
map2xml(Map<String,?> map) |
static String |
map2xml(Map<String,?> map,
boolean border,
boolean order) |
static <T> List<T> |
merge(List<T> list,
T... items) |
static <T> T[] |
merge(T[] array,
T[]... items)
数组合并
|
static Object |
nvl(Object src,
String... keys)
取第一个不为空的值
|
static String |
object2json(Object obj) |
static String |
object2json(Object obj,
com.fasterxml.jackson.annotation.JsonInclude.Include include) |
static Map<String,Object> |
object2map(Object obj) |
static Map<String,Object> |
object2map(Object obj,
List<String> keys) |
static String |
object2xml(Object obj) |
static <T> List<Map<String,Object>> |
objects2maps(Collection<T> objs) |
static <T> List<Map<String,Object>> |
objects2maps(Collection<T> objs,
List<String> keys) |
static Map<String,Object> |
param2map(String url,
boolean empty)
参数转map
参数格式a=1&b=2&b=3
如果是多个值,以String的List形式保存
如果是url将根据问号分割
|
static String |
parseFinalValue(Object obj,
String key) |
static String |
parseFinalValue(Object obj,
String key,
String def) |
static String[] |
parseKeyValue(String src)
解析 key:vlue形式参数age:20
返回数组["age","20"]
如果值为空返回["age",""]
如果没有分隔符返回["age","age"]
|
static String |
parseRuntimeValue(Object obj,
String key) |
static String |
parseRuntimeValue(Object obj,
String key,
boolean encrypt) |
static <T> List<Map<String,Object>> |
pivot(Collection<T> datas,
List<String> pks,
List<String> classKeys,
List<String> valueKeys)
行转列
表结构(编号, 姓名, 年度, 科目, 分数, 等级)
|
static <T> List<Map<String,Object>> |
pivot(Collection<T> datas,
List<String> pks,
List<String> classKeys,
String... valueKeys) |
static <T> List<Map<String,Object>> |
pivot(Collection<T> datas,
String[] pks,
String[] classKeys,
String[] valueKeys) |
static <T> List<Map<String,Object>> |
pivot(Collection<T> datas,
String pk,
String classKey) |
static <T> List<Map<String,Object>> |
pivot(Collection<T> datas,
String pk,
String classKey,
String valueKey)
行转列
|
static Object |
propertyNvl(Map<String,?> map,
String... keys)
提取第一个不为空的value
|
static <T> T |
query(Collection<T> datas,
Map<String,Object> kvs) |
static <T> List<T> |
querys(Collection<T> datas,
int begin,
int qty,
Map<String,Object> kvs) |
static <T> List<T> |
querys(Collection<T> datas,
int begin,
int qty,
String... params) |
static <T> List<T> |
querys(Collection<T> datas,
int begin,
String... params) |
static <T> List<T> |
querys(Collection<T> datas,
String... params) |
static void |
removeProperty(Collection<Object> objs,
String... keys)
过虑指定属性
|
static void |
removeProperty(Object obj,
String key) |
static List<Field> |
searchFieldsByAnnotation(Class clazz,
Class annotation)
查询指定类的有annotation注解的属性
|
static Collection<?> |
select(Collection<?> list,
String... params)
参考 DataSet.getRows
|
static byte[] |
serialize(Object value) |
static void |
setFieldsValue(Object obj,
Map<String,?> map)
设置所有属性值
|
static boolean |
setFieldValue(Object obj,
Field field,
Object value) |
static boolean |
setFieldValue(Object obj,
String field,
Object value) |
static boolean |
setFieldValue(Object obj,
String field,
Object value,
boolean recursion) |
static Map<String,String> |
string2map(String str)
String 转map
|
static Map<String,Object> |
toMap(Object obj,
String... keys)
对象转换成Map
|
static List<Map<String,Object>> |
toMaps(Collection<?> objs,
String... keys) |
static Collection |
toUpperCaseKey(Collection con,
String... keys) |
static Map<String,Object> |
toUpperCaseKey(Map<String,Object> map,
String... keys) |
static Object |
toUpperCaseKey(Object obj,
String... keys) |
static <T> T[] |
union(T[] first,
T[]... rest)
多个数组合并成一个数组(二维数组合成一维数组)
|
static Object |
value(com.fasterxml.jackson.databind.JsonNode json) |
static Map<String,Object> |
xml2map(String xml) |
static <T> T |
xml2object(String xml,
Class<T> clazz) |
static <T> T |
xml2object(String xml,
Class<T> clazz,
boolean recursion) |
public static boolean setFieldValue(Object obj, String field, Object value, boolean recursion)
public static Method getMethod(Class<?> clazz, String name, boolean recursion, Class<?>... parameterTypes)
public static String getColumn(Field field, boolean checkInsert, boolean checkUpdate)
field - fieldcheckInsert - checkInsertcheckUpdate - checkUpdatepublic static String getColumn(Class<?> clazz, String field, boolean checkInsert, boolean checkUpdate)
public static Object getAnnotationValue(Field field, Class clazz, String property)
field - fieldclazz - clazzproperty - propertypublic static Object getValueByColumn(Object obj, String column)
obj - objcolumn - columnpublic static List<Field> getFields(Class<?> clazz)
clazz - clazzpublic static List<Field> searchFieldsByAnnotation(Class clazz, Class annotation)
clazz - clazzannotation - annotationpublic static Map<String,Object> toMap(Object obj, String... keys)
obj - objkeys - keyspublic static void removeProperty(Collection<Object> objs, String... keys)
objs - objskeys - keyspublic static Collection<Object> fetch(Collection<Object> objs, String... keys)
objs - objskeys - keyspublic static Collection<?> select(Collection<?> list, String... params)
list - listparams - paramspublic static List<Class> getClasses(String pack, Class... bases)
pack - packbases - basespublic static Map<String,String> array2map(String... params)
params - key1,value1,key2:value2,key3,value3
"NM:zh%","AGE:>20","NM","%zh%"public static <T> T json2oject(String json, Class<T> clazz, com.fasterxml.jackson.annotation.JsonInclude.Include include)
public static String map2string(Map<String,?> map, String join, String separator, boolean ignoreEmpty, boolean sort)
map - 数据源join - key,value之间的拼接符(默认=)separator - separator 多个kv的分隔符(默认&)ignoreEmpty - 是否忽略空值sort - 是否排序public static <T> List<Map<String,Object>> objects2maps(Collection<T> objs, List<String> keys)
public static <T> List<Map<String,Object>> objects2maps(Collection<T> objs)
public static String object2json(Object obj, com.fasterxml.jackson.annotation.JsonInclude.Include include)
public static Map<String,Object> param2map(String url, boolean empty)
url - 参数或urlempty - 结果中是否包含空值,所有空值以""形式保存public static List<Object> extract(Collection<?> list, String key)
list - listkey - keypublic static List<Map<String,Object>> extracts(Collection<?> list, String... keys)
list - listkeys - keyspublic static <T> Collection<T> distinct(Collection<T> list, String... keys)
T - Tlist - listkeys - 根据keys列或属性值比较public static <T> Collection<T> distinct(Collection<T> list, List<String> keys)
public static <T> boolean contain(Collection<T> list, T obj, String... keys)
T - Tlist - listobj - objkeys - 只比较keys列,基础类型不需要指定列public static <T> boolean contain(Collection<T> list, T obj, List<String> keys)
public static <T> boolean equals(T obj1,
T obj2,
String... keys)
public static String concat(List<?> list, String key, String split)
list - 数组split - 分隔符key - keypublic static <T> String concat(T[] list)
public static String concat(int[] list)
public static String concat(long[] list)
public static String concat(double[] list)
public static String concat(float[] list)
public static String concat(short[] list)
public static Collection toUpperCaseKey(Collection con, String... keys)
public static Map<String,Object> toUpperCaseKey(Map<String,Object> map, String... keys)
public static <T> T[] list2array(List<T> list)
public static Map<String,String> string2map(String str)
str - name:zhang,age:20public static void clearEmpty(Map<String,Object> map, boolean recursion)
map - maprecursion - 是否递归检测集合map类型值的长度public static void clearEmpty(List<Object> list, boolean recursion)
list - listrecursion - 是否递归检测集合map类型值的长度public static <T> T[] union(T[] first,
T[]... rest)
T - Tfirst - firstrest - restpublic static int closest(short[] array,
short value)
array - arrayvalue - valuepublic static int closest(Short[] array, short value)
public static int closest(int[] array,
int value)
public static int closest(Integer[] array, int value)
public static int closest(long[] array,
long value)
public static int closest(Long[] array, long value)
public static int closest(float[] array,
float value)
public static int closest(Float[] array, float value)
public static int closest(double[] array,
double value)
public static int closest(Double[] array, double value)
public static int closest(BigDecimal[] array, BigDecimal value)
public static int closest(List<BigDecimal> array, BigDecimal value)
public static <T> List<T> cuts(Collection<T> list, int begin, int end)
T - tlist - listbegin - beginend - endpublic static String camel(String key, boolean hold)
key - srchold - 是否保留分隔符public static String[] parseKeyValue(String src)
src - srcpublic static boolean isJson(Object json)
public static Object value(com.fasterxml.jackson.databind.JsonNode json)
public static Object extract(Object src, boolean voluntary, String... keys)
src - 数据源voluntary - 遇到基础类型是否停止(不取下一级)
voluntary=false时遇到提取基础类型属性值时返回null
voluntary=true时遇到提取基础类型属性值时返回当前value并return valuekeys - keys 一级key.二级key.三级keypublic static Object nvl(Object src, String... keys)
src - 数据源keys - keyspublic static Object propertyNvl(Map<String,?> map, String... keys)
map - mapkeys - keyspublic static void setFieldsValue(Object obj, Map<String,?> map)
obj - objmap - mappublic static byte[] serialize(Object value)
public static Object deserialize(byte[] in)
public static <T> List<T> array2list(T[]... arrays)
public static <T> List<List<T>> descartes(List<List<T>> lists)
T - tlists - listspublic static <T> T[] merge(T[] array,
T[]... items)
T - 数据类型array - 第一个数组items - 其他数组public static Map<String,Object> copy(Map<String,Object> src, Map<String,Object> copy, List<String> keys)
public static Map<String,Object> copy(Map<String,Object> src, Map<String,Object> copy, String... keys)
public static <T> T query(Collection<T> datas, Map<String,Object> kvs)
public static <T> List<T> querys(Collection<T> datas, int begin, String... params)
public static <T> List<T> querys(Collection<T> datas, String... params)
public static <T> List<T> querys(Collection<T> datas, int begin, int qty, String... params)
public static <T> List<T> querys(Collection<T> datas, int begin, int qty, Map<String,Object> kvs)
public static <T> List<Map<String,Object>> pivot(Collection<T> datas, List<String> pks, List<String> classKeys, List<String> valueKeys)
T - 数据类型datas - 数据集pks - 唯一标识key(如编号,姓名)classKeys - 分类key(如年度,科目)valueKeys - 取值key(如分数,等级),如果不指定key则将整行作为valuepublic static <T> List<Map<String,Object>> pivot(Collection<T> datas, String[] pks, String[] classKeys, String[] valueKeys)
public static <T> List<Map<String,Object>> pivot(Collection<T> datas, String pk, String classKey, String valueKey)
T - 数据类型datas - 数据pk - 唯一标识key(如姓名)多个key以,分隔如(编号,姓名)classKey - 分类key(如科目)多个key以,分隔如(科目,年度)valueKey - 取值key(如分数)多个key以,分隔如(分数,等级)public static <T> List<Map<String,Object>> pivot(Collection<T> datas, String pk, String classKey)
Copyright © 2022. All rights reserved.