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 <T> String |
array2string(T[] array) |
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 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(byte[] list) |
static String |
concat(byte[] list,
String split) |
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 <T> List<T> |
copy(Collection<T> list) |
static <T> Collection<T> |
copy(Collection<T> tar,
Collection<T>... items) |
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 void |
copyFieldValue(Object src,
Object copy) |
static void |
copyFieldValueNvl(Object src,
Object copy)
复制copy的属性值到src(src属性值为null的情况下生效)
|
static void |
copyFieldValueWithoutNull(Object src,
Object copy)
复制copy的属性值到src(copy属性值is not null的情况下生效)
|
static Map<String,String> |
createMap(String... params) |
static byte[] |
cut(byte[] array,
int fr,
int to) |
static int[] |
cut(int[] array,
int fr,
int to) |
static short[] |
cut(short[] array,
int fr,
int to) |
static <T> T[] |
cut(T[] array,
int fr,
int to)
截取数组
|
static <T> List<T> |
cuts(Collection<T> list,
int begin,
int end)
集合截取
|
static <T> List<List<T>> |
descartes(List<List<T>> lists)
合成笛卡尔组合
|
static <T> List<List<T>> |
descartes(List<T>... lists) |
static Object |
deserialize(byte[] in) |
static List<String> |
distinct(Collection<String> list)
distinct 不区分大小写
|
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 byte[] |
fill(byte[] bytes,
int len)
左补齐
|
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 boolean |
isJson(Object json) |
static <T> Collection<T> |
join(Collection<T> list,
T... items) |
static <T> List<T> |
join(List<T> list,
T... items)
items拼接到list中
|
static <K,V> Map<K,V> |
join(Map<K,V> src,
Map<K,V> copy,
boolean over)
copy合并成src中
|
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 |
list2string(List<?> list)
与toString不同的是 中间没有空格与引号[1,2,3]而不是[1, 2, 3]
|
static String |
map2json(Map<String,?> map) |
static String |
map2json(Map<String,?> map,
com.fasterxml.jackson.annotation.JsonInclude.Include include) |
static <T> T |
map2object(Map<String,?> map,
Class<T> clazz,
boolean recursion,
boolean ignoreCase,
boolean ignoreSplit,
Map<Field,String> fields) |
static <T> T |
map2object(Map<String,?> map,
Class<T> clazz,
Map<Field,String> fields) |
static <T> T |
map2object(Map<String,?> map,
Class<T> clazz,
Map columns,
boolean recursion,
boolean ignoreCase,
boolean ignoreSplit,
Map<Field,String> fields) |
static <T> T |
map2object(Map<String,?> map,
Class<T> clazz,
Map columns,
boolean recursion,
boolean ignoreCase,
boolean ignoreSplit,
String... keys) |
static <T> T |
map2object(Map<String,?> map,
Class<T> clazz,
Map columns,
Map<Field,String> fields) |
static <T> T |
map2object(Map<String,?> map,
Class<T> clazz,
Map columns,
String... keys) |
static <T> T |
map2object(Map<String,?> map,
Class<T> clazz,
String... keys) |
static <T> T |
map2object(T obj,
Map<String,?> map,
Class<T> clazz,
Map<Field,String> fields) |
static <T> T |
map2object(T obj,
Map<String,?> map,
Class<T> clazz,
Map columns,
boolean recursion,
boolean ignoreCase,
boolean ignoreSplit,
Map<Field,String> fields) |
static <T> T |
map2object(T obj,
Map<String,?> map,
Class<T> clazz,
Map columns,
boolean recursion,
boolean ignoreCase,
boolean ignoreSplit,
String... keys)
map转实现
|
static <T> T |
map2object(T obj,
Map<String,?> map,
Class<T> clazz,
Map columns,
Map<Field,String> fields) |
static <T> T |
map2object(T obj,
Map<String,?> map,
Class<T> clazz,
Map columns,
String... keys) |
static <T> T |
map2object(T obj,
Map<String,?> map,
Class<T> clazz,
String... keys) |
static String |
map2string(Map map) |
static String |
map2string(Map map,
boolean ignoreEmpty,
boolean order) |
static String |
map2string(Map map,
String join,
String separator,
boolean ignoreEmpty,
boolean order)
按key升序拼接
|
static String |
map2xml(Map<String,?> map) |
static String |
map2xml(Map<String,?> map,
boolean border,
boolean order) |
static <T> List<T> |
merge(Collection<T> list,
T... items)
list与items合并成新集合
|
static <T> List<T> |
merge(List<T> list,
T... items) |
static <K,V> Map<K,V> |
merge(Map<K,V>... maps)
maps合并成新map
|
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) |
static Map<String,Object> |
param2map(String url,
boolean empty,
boolean decode) |
static Map<String,Object> |
param2map(String url,
boolean empty,
boolean decode,
String charset)
参数转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 Object |
puarseFieldValue(Object 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 List<String> |
removeAll(List<String> src,
List<String> remove)
removeAll 不区分大小写
|
static List<String> |
removeAll(List<String> src,
String... remove) |
static void |
removeProperty(Collection<Object> objs,
String... keys)
过虑指定属性
|
static void |
removeProperty(Object obj,
String key) |
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,
Column column,
Object value)
属性赋值
|
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 List<String> |
toLowerCase(List<String> list) |
static Map<String,Object> |
toMap(Object obj,
String... keys)
对象转换成Map
|
static List<Map<String,Object>> |
toMaps(Collection<?> objs,
String... keys) |
static List<String> |
toUpperCase(List<String> list) |
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 String |
urlDecode(String src,
String charset) |
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) |
static <T> T |
xml2object(String xml,
Class<T> clazz,
boolean recursion,
boolean ignoreCase,
boolean ignoreSplit) |
static <T> T |
xml2object(String xml,
Class<T> clazz,
Map columns) |
static <T> T |
xml2object(String xml,
Class<T> clazz,
Map columns,
boolean recursion) |
static <T> T |
xml2object(String xml,
Class<T> clazz,
Map columns,
boolean recursion,
boolean ignoreCase,
boolean ignoreSplit) |
public static boolean setFieldValue(Object obj, Field field, Column column, Object value)
obj - 对象 如果给类静态属性赋值,传nullfield - 属性value - 值public static boolean setFieldValue(Object obj, String field, Object value, boolean recursion)
public 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 Map<String,String> array2map(String... params)
params - key1,value1,key2:value2,key3,value3
"NM:zh%","AGE:>20","NM","%zh%"public static <T> T map2object(T obj,
Map<String,?> map,
Class<T> clazz,
Map columns,
boolean recursion,
boolean ignoreCase,
boolean ignoreSplit,
String... keys)
T - Tobj - 在此基础上执行,如果不提供则新创建map - mapclazz - classrecursion - 是否递归ignoreCase - 是否忽略大小写ignoreSplit - 是否忽略分隔符号keys - field:key对照关系public static <T> T map2object(Map<String,?> map, Class<T> clazz, Map columns, boolean recursion, boolean ignoreCase, boolean ignoreSplit, String... keys)
public static <T> T map2object(T obj,
Map<String,?> map,
Class<T> clazz,
Map columns,
boolean recursion,
boolean ignoreCase,
boolean ignoreSplit,
Map<Field,String> fields)
public static <T> T map2object(Map<String,?> map, Class<T> clazz, Map columns, boolean recursion, boolean ignoreCase, boolean ignoreSplit, Map<Field,String> fields)
public static <T> T map2object(Map<String,?> map, Class<T> clazz, boolean recursion, boolean ignoreCase, boolean ignoreSplit, Map<Field,String> fields)
public static <T> T map2object(T obj,
Map<String,?> map,
Class<T> clazz,
Map columns,
Map<Field,String> fields)
public static <T> T map2object(T obj,
Map<String,?> map,
Class<T> clazz,
Map<Field,String> fields)
public static <T> T map2object(Map<String,?> map, Class<T> clazz, Map columns, Map<Field,String> fields)
public static <T> T map2object(Map<String,?> map, Class<T> clazz, Map<Field,String> fields)
public static <T> T map2object(T obj,
Map<String,?> map,
Class<T> clazz,
Map columns,
String... keys)
public static <T> T map2object(Map<String,?> map, Class<T> clazz, Map columns, String... keys)
public static <T> T json2oject(String json, Class<T> clazz, com.fasterxml.jackson.annotation.JsonInclude.Include include)
public static String map2json(Map<String,?> map, com.fasterxml.jackson.annotation.JsonInclude.Include include)
public static String map2string(Map map, String join, String separator, boolean ignoreEmpty, boolean order)
map - 数据源join - key,value之间的拼接符(默认=)separator - separator 多个kv的分隔符(默认&)ignoreEmpty - 是否忽略空值order - 是否排序public static <T> T xml2object(String xml, Class<T> clazz, boolean recursion, boolean ignoreCase, boolean ignoreSplit)
public static <T> T xml2object(String xml, Class<T> clazz, Map columns, boolean recursion, boolean ignoreCase, boolean ignoreSplit)
public static <T> T xml2object(String xml, Class<T> clazz, Map columns, boolean recursion)
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, boolean decode, String charset)
url - 参数或urlempty - 结果中是否包含空值,所有空值以""形式保存decode - 是否需要解码charset - 解码编码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 String concat(byte[] 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)
T - Tlist - listpublic static String list2string(List<?> list)
list - Listpublic static <T> String array2string(T[] array)
public static <T> T[] cut(T[] array,
int fr,
int to)
T - 数据类型array - 原数组fr - 开始位置to - 结束位置public static byte[] cut(byte[] array,
int fr,
int to)
public static short[] cut(short[] array,
int fr,
int to)
public static int[] cut(int[] array,
int fr,
int to)
public static byte[] fill(byte[] bytes,
int len)
bytes - byteslen - lenpublic 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 - 二维数组public static <T> T[] merge(T[] array,
T[]... items)
T - 数据类型array - 第一个数组items - 其他数组public static <K,V> Map<K,V> merge(Map<K,V>... maps)
K - kV - vmaps - mappublic static <K,V> Map<K,V> join(Map<K,V> src, Map<K,V> copy, boolean over)
K - kV - vsrc - srccopy - copy6over - key相同时是否覆盖public static <T> List<T> merge(Collection<T> list, T... items)
T - Tlist - listitems - itemspublic static <T> List<T> join(List<T> list, T... items)
T - Tlist - listitems - itemspublic static <T> Collection<T> join(Collection<T> list, T... 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)
public static <T> List<Map<String,Object>> pivot(Collection<T> datas, List<String> pks, List<String> classKeys, String... valueKeys)
public static List<String> distinct(Collection<String> list)
list - Listpublic static List<String> removeAll(List<String> src, List<String> remove)
src - srcremove - removepublic static <T> List<T> copy(Collection<T> list)
public static <T> Collection<T> copy(Collection<T> tar, Collection<T>... items)
public static void copyFieldValueNvl(Object src, Object copy)
src - srccopy - copyCopyright © 2022. All rights reserved.