public abstract class Lang extends Object
限定符和类型 | 字段和说明 |
---|---|
static int |
HASH_BUFF_SIZE |
static boolean |
isAndroid
当前运行的 Java 虚拟机是否是在安卓环境
|
构造器和说明 |
---|
Lang() |
限定符和类型 | 方法和说明 |
---|---|
static <T> T[] |
array(T... eles)
较方便的创建一个数组,比如:
String[] strs = Lang.array("A", "B", "A"); => ["A","B","A"]
|
static Object |
array2array(Object array,
Class<?> eleType)
将数组转换成另外一种类型的数组。
|
static <T,E> List<E> |
array2list(Object array,
Class<E> eleType)
将数组转换成一个列表。
|
static <T> List<T> |
array2list(T[] array)
将数组转换成一个列表。
|
static <T extends Map<Object,Object>> |
array2map(Class<T> mapClass,
Object array,
String keyFieldName)
将一个数组变成 Map
|
static <T> Object[] |
array2ObjectArray(T[] args,
Class<?>[] pts)
将数组转换成Object[] 数组。
|
static <T> T[] |
arrayFirst(T e,
T[] eles)
将一个对象添加成为一个数组的第一个元素,从而生成一个新的数组
|
static <T> T[] |
arrayLast(T[] eles,
T e)
将一个对象添加成为一个数组的最后一个元素,从而生成一个新的数组
|
static <T> T[] |
arrayUniq(T... eles)
较方便的创建一个没有重复的数组,比如:
String[] strs = Lang.arrayUniq("A","B","A"); => ["A","B"]
String[] strs = Lang.arrayUniq(); => null
返回的顺序会遵循输入的顺序
|
static void |
Break()
打断 each 循环
|
static <E> E[] |
collection2array(Collection<?> col,
Class<E> eleType)
将集合变成指定类型的数组
|
static <E> E[] |
collection2array(Collection<E> coll)
将集合变成数组,数组的类型为集合的第一个元素的类型。
|
static <E> List<E> |
collection2list(Collection<?> col,
Class<E> eleType)
将集合编程变成指定类型的列表
|
static <E> List<E> |
collection2list(Collection<E> col)
将集合变成 ArrayList
|
static <T extends Map<Object,Object>> |
collection2map(Class<T> mapClass,
Collection<?> coll,
String keyFieldName)
将一个集合变成 Map。
|
static ComboException |
comboThrow(Throwable... es) |
static <T> StringBuilder |
concat(int offset,
int len,
Object c,
T[] objs)
将一个数组的部分元素转换成字符串
每个元素之间,都会用一个给定的字符分隔
|
static <T> StringBuilder |
concat(int offset,
int len,
T[] array)
将一个数组部分元素拼合成一个字符串
|
static <T> StringBuilder |
concat(Object c,
Collection<T> coll)
将一个集合转换成字符串
每个元素之间,都会用一个给定的字符分隔
|
static StringBuilder |
concat(Object c,
int[] vals)
将一个整型数组转换成字符串
每个元素之间,都会用一个给定的字符分隔
|
static <T> StringBuilder |
concat(Object c,
Iterator<T> it)
将一个迭代器转换成字符串
每个元素之间,都会用一个给定的字符分隔
|
static StringBuilder |
concat(Object c,
long[] vals)
将一个长整型数组转换成字符串
每个元素之间,都会用一个给定的字符分隔
|
static <T> StringBuilder |
concat(Object c,
T[] objs)
将一个数组转换成字符串
每个元素之间,都会用一个给定的字符分隔
|
static <T> StringBuilder |
concat(T[] objs)
将一个数组所有元素拼合成一个字符串
|
static <T> StringBuilder |
concatBy(String ptn,
Object c,
T[] objs)
将一个数组转换成字符串
所有的元素都被格式化字符串包裹。
|
static <T> StringBuilder |
concatBy(String fmt,
T[] objs)
将一个数组转换成字符串
所有的元素都被格式化字符串包裹。
|
static <T> boolean |
contains(T[] array,
T ele)
判断一个数组内是否包括某一个对象。
|
static Context |
context()
创建一个新的上下文对象
|
static Context |
context(Map<String,Object> map)
根据一个 Map 包裹成一个上下文对象
|
static Context |
context(String str)
根据一段 JSON 字符串,生产一个新的上下文对象
|
static Context |
contextf(String fmt,
Object... args)
根据一段 JSON 字符串,生产一个新的上下文对象
|
static void |
Continue()
继续 each 循环,如果再递归,则停止递归
|
static void |
convertMapKey(Object obj,
MapKeyConvertor mkc,
boolean recur)
将一个 Map 所有的键都按照回调进行修改
本函数遇到数组或者集合,会自动处理每个元素
|
static <T> T |
copyProperties(Object origin,
T target) |
static <T> T |
copyProperties(Object origin,
T target,
String active,
String lock,
boolean ignoreNull,
boolean ignoreStatic) |
static String |
digest(String algorithm,
byte[] bytes,
byte[] salt,
int iterations)
从字节数组计算出数字签名
|
static String |
digest(String algorithm,
CharSequence cs)
从字符串计算出数字签名
|
static String |
digest(String algorithm,
File f)
从数据文件计算出数字签名
|
static String |
digest(String algorithm,
InputStream ins)
从流计算出数字签名,计算完毕流会被关闭
|
static <T> void |
each(Object obj,
boolean loopMap,
Each<T> callback)
用回调的方式,遍历一个对象,可以支持遍历
数组
集合
Map
单一元素
|
static <T> void |
each(Object obj,
Each<T> callback)
用回调的方式,遍历一个对象,可以支持遍历
数组
集合
Map
单一元素
|
static <T extends Collection<E>,E> |
enum2collection(Enumeration<E> enums,
T cols)
将枚举对象,变成集合
|
static <T> Enumeration<T> |
enumeration(Collection<T> col)
返回一个集合对象的枚举对象。
|
static boolean |
equals(Object a0,
Object a1)
判断两个对象是否相等。
|
static void |
exec(String[] cmd,
Charset charset,
StringBuilder out,
StringBuilder err) |
static void |
exec(String[] cmd,
StringBuilder out,
StringBuilder err) |
static void |
exec(String cmd,
StringBuilder out,
StringBuilder err) |
static StringBuilder |
execOutput(String cmd) |
static StringBuilder |
execOutput(String[] cmd) |
static StringBuilder |
execOutput(String[] cmd,
Charset charset) |
static StringBuilder |
execOutput(String cmd,
Charset charset) |
static <C extends Collection<T>,T> |
fill(C coll,
T[]... objss)
将一个或者多个数组填入一个集合。
|
static Map<String,Object> |
filter(Map<String,Object> source,
String prefix,
String include,
String exclude,
Map<String,String> keyMap)
map对象浅过滤,返回值是一个新的map
|
static <T> T |
first(Collection<T> coll)
获取集合中的第一个元素,如果集合为空,返回 null
|
static <K,V> Map.Entry<K,V> |
first(Map<K,V> map)
获得表中的第一个名值对
|
static Object |
first(Object obj)
如果是数组或集合取得第一个对象。
|
static String |
fixedHexString(byte[] hashBytes) |
static <T> Class<T> |
forName(String name,
Class<T> type)
强制从字符串转换成一个 Class,将 ClassNotFoundException 包裹成 RuntimeException
|
static <T> T |
fromBytes(byte[] buf,
Class<T> klass) |
static <T> T |
get(T[] array,
int index)
安全的从一个数组获取一个元素,容忍 null 数组,以及支持负数的 index
如果该下标越界,则返回 null
|
static Type |
getFieldType(Mirror<?> me,
Field field)
当一个类使用
|
static Type |
getFieldType(Mirror<?> me,
String field)
当一个类使用
|
static Type |
getGenericsType(Mirror<?> me,
Type type)
当一个类使用
|
static Type[] |
getGenericsTypes(Type type)
返回一个 Type 的泛型数组, 如果没有, 则直接返回null
|
static String |
getIP(javax.servlet.http.HttpServletRequest request)
获得访问者的IP地址, 反向代理过的也可以获得
|
static Type[] |
getMethodParamTypes(Mirror<?> me,
Method method)
当一个类使用
|
static Object |
getPrimitiveDefaultValue(Class<?> pClass)
获取基本类型的默认值
|
static String |
getStackTrace(Throwable e)
将一个抛出对象的异常堆栈,显示成一个字符串
|
static Class<?> |
getTypeClass(Type type)
获取一个 Type 类型实际对应的Class
|
static RuntimeException |
impossible()
生成一个不可能的运行时异常
|
static Reader |
inr(CharSequence cs)
根据一段文本模拟出一个文本输入流对象
|
static InputStream |
ins(CharSequence cs)
根据一段文本模拟出一个输入流对象
|
static boolean |
isCauseBy(Throwable e,
Class<? extends Throwable> causeType) |
static boolean |
isEmpty(Object obj)
判断一个对象是否为空。
|
static <T> boolean |
isEmptyArray(T[] ary)
判断一个数组是否是空数组
|
static boolean |
isIPv4Address(String input) |
static boolean |
isIPv6Address(String input) |
static boolean |
isIPv6HexCompressedAddress(String input) |
static boolean |
isIPv6StdAddress(String input) |
static boolean |
isJDK6()
当前运行的 Java 虚拟机是 JDK6 的话,则返回 true
|
static boolean |
isWin()
判断当前系统是否为Windows
|
static int |
length(Object obj)
获得一个对象的长度。
|
static <T> ArrayList<T> |
list(T... eles)
较方便的创建一个列表,比如:
List<Pet> pets = Lang.list(pet1, pet2, pet3);
注,这里的 List,是 ArrayList 的实例
|
static List<Object> |
list4(String str)
根据一段字符串,生成一个List 对象。
|
static Class<?> |
loadClass(String className)
原方法使用线程ClassLoader,各种问题,改回原版.
|
static Class<?> |
loadClassQuite(String className) |
static <T extends Throwable> |
makeThrow(Class<T> classOfT,
String format,
Object... args)
根据格式化字符串,生成一个指定的异常。
|
static RuntimeException |
makeThrow(String format,
Object... args)
根据格式化字符串,生成运行时异常
|
static NutMap |
map(String str)
根据一段字符串,生成一个 Map 对象。
|
static NutMap |
map(String key,
Object v)
创建一个一个键的 Map 对象
|
static <T> T |
map2Object(Map<?,?> src,
Class<T> toType)
根据一个 Map,和给定的对象类型,创建一个新的 JAVA 对象
|
static NutMap |
mapf(String fmt,
Object... args)
根据一个格式化字符串,生成 Map 对象
|
static String |
md5(CharSequence cs)
获取指定字符串的 MD5 值
|
static String |
md5(File f)
获取指定文件的 MD5 值
|
static String |
md5(InputStream ins)
获取指定输入流的 MD5 值
|
static <T> T[] |
merge(T[]... arys)
将多个数组,合并成一个数组。
|
static RuntimeException |
noImplement()
生成一个未实现的运行时异常
|
static void |
notifyAll(Object lock)
通知对象的同步锁
|
static Map<String,Object> |
obj2map(Object obj)
将对象转换成 Map
|
static <T extends Map<String,Object>> |
obj2map(Object obj,
Class<T> mapType)
将对象转换成 Map
|
static NutMap |
obj2nutmap(Object obj)
将对象转为 Nutz 的标准 Map 封装
|
static StringOutputStream |
ops(StringBuilder sb)
根据一个 StringBuilder 模拟一个输出流对象
|
static Writer |
opw(StringBuilder sb)
根据一个 StringBuilder 模拟一个文本输出流对象
|
static boolean |
parseBoolean(String s)
将字符串解析成 boolean 值,支持更多的字符串
1 | 0
yes | no
on | off
true | false
|
static void |
quiteSleep(long millisecond)
对Thread.sleep(long)的简单封装,不抛出任何异常
|
static String |
readAll(Reader reader)
从一个文本输入流读取所有内容,并将该流关闭
|
static <T> void |
reverse(T[] arrays)
将指定的数组的内容倒序排序。
|
static void |
runInAnThread(Runnable runnable) |
static String |
runRootPath() |
static <T> Set<T> |
set(T... eles)
创建一个 Hash 集合
|
static String |
sha1(CharSequence cs)
获取指定字符串的 SHA1 值
|
static String |
sha1(File f)
获取指定文件的 SHA1 值
|
static String |
sha1(InputStream ins)
获取指定输入流的 SHA1 值
|
static String |
sha256(CharSequence cs)
获取指定字符串的 SHA256 值
|
static String |
sha256(File f)
获取指定文件的 SHA256 值
|
static String |
sha256(InputStream ins)
获取指定输入流的 SHA256 值
|
static String |
simpleMethodDesc(Method method) |
static String |
simpleMetodDesc(Method method)
已过时。
|
static void |
sleep(long ms)
一个便利的方法,将当前线程睡眠一段时间
|
static Number |
str2number(String s)
将字符串,变成数字对象,现支持的格式为:
null - 整数 0
23.78 - 浮点 Float
0x45 - 16进制整数 Integer
78L - 长整数 Long
69 - 普通整数 Integer
|
static byte[] |
toBytes(char[] cs)
将字符数组强制转换成字节数组。
|
static byte[] |
toBytes(int[] is)
将整数数组强制转换成字节数组。
|
static byte[] |
toBytes(Object obj) |
static Throwable |
unwrapThrow(Throwable e) |
static void |
wait(Object lock,
long ms)
一个便利的等待方法同步一个对象
|
static <T> T[] |
without(T[] objs,
T val)
清除数组中的特定值
|
static RuntimeException |
wrapThrow(Throwable e)
用运行时异常包裹抛出对象,如果抛出对象本身就是运行时异常,则直接返回。
|
static <T extends Throwable> |
wrapThrow(Throwable e,
Class<T> wrapper)
用一个指定可抛出类型来包裹一个抛出对象。
|
static RuntimeException |
wrapThrow(Throwable e,
String fmt,
Object... args)
将抛出对象包裹成运行时异常,并增加自己的描述
|
static void |
writeAll(Writer writer,
String str)
将一段字符串写入一个文本输出流,并将该流关闭
|
static DocumentBuilder |
xmls()
帮你快速获得一个 DocumentBuilder,方便 XML 解析。
|
public static int HASH_BUFF_SIZE
public static final boolean isAndroid
public static boolean isIPv4Address(String input)
public static boolean isIPv6StdAddress(String input)
public static boolean isIPv6HexCompressedAddress(String input)
public static boolean isIPv6Address(String input)
public static ComboException comboThrow(Throwable... es)
public static RuntimeException noImplement()
public static RuntimeException impossible()
public static RuntimeException makeThrow(String format, Object... args)
format
- 格式args
- 参数public static <T extends Throwable> T makeThrow(Class<T> classOfT, String format, Object... args)
classOfT
- 异常类型, 需要有一个字符串为参数的构造函数format
- 格式args
- 参数public static RuntimeException wrapThrow(Throwable e, String fmt, Object... args)
e
- 抛出对象fmt
- 格式args
- 参数public static RuntimeException wrapThrow(Throwable e)
如果是 InvocationTargetException,那么将其剥离,只包裹其 TargetException
e
- 抛出对象public static <T extends Throwable> T wrapThrow(Throwable e, Class<T> wrapper)
e
- 抛出对象wrapper
- 包裹类型public static boolean equals(Object a0, Object a1)
a0
- 比较对象1a1
- 比较对象2public static <T> boolean contains(T[] array, T ele)
array
- 数组ele
- 对象public static String readAll(Reader reader)
reader
- 文本输入流public static void writeAll(Writer writer, String str)
writer
- 文本输出流str
- 字符串public static InputStream ins(CharSequence cs)
cs
- 文本public static Reader inr(CharSequence cs)
cs
- 文本public static Writer opw(StringBuilder sb)
sb
- StringBuilder 对象public static StringOutputStream ops(StringBuilder sb)
sb
- StringBuilder 对象public static <T> T[] array(T... eles)
String[] strs = Lang.array("A", "B", "A"); => ["A","B","A"]
eles
- 可变参数public static <T> T[] arrayUniq(T... eles)
String[] strs = Lang.arrayUniq("A","B","A"); => ["A","B"] String[] strs = Lang.arrayUniq(); => null返回的顺序会遵循输入的顺序
eles
- 可变参数public static boolean isEmpty(Object obj)
obj
- 任意对象public static <T> boolean isEmptyArray(T[] ary)
ary
- 数组public static <T> ArrayList<T> list(T... eles)
List<Pet> pets = Lang.list(pet1, pet2, pet3);注,这里的 List,是 ArrayList 的实例
eles
- 可变参数public static <T> Set<T> set(T... eles)
eles
- 可变参数public static <T> T[] merge(T[]... arys)
arys
- 数组对象public static <T> T[] arrayFirst(T e, T[] eles)
e
- 对象eles
- 数组public static <T> T[] arrayLast(T[] eles, T e)
e
- 对象eles
- 数组public static <T> StringBuilder concatBy(String fmt, T[] objs)
所有的元素都被格式化字符串包裹。 这个格式话字符串只能有一个占位符, %s, %d 等,均可,请视你的数组内容而定
fmt
- 格式objs
- 数组public static <T> StringBuilder concatBy(String ptn, Object c, T[] objs)
所有的元素都被格式化字符串包裹。 这个格式话字符串只能有一个占位符, %s, %d 等,均可,请视你的数组内容而定
每个元素之间,都会用一个给定的字符分隔
ptn
- 格式c
- 分隔符objs
- 数组public static <T> StringBuilder concat(Object c, T[] objs)
每个元素之间,都会用一个给定的字符分隔
c
- 分隔符objs
- 数组public static <T> T[] without(T[] objs, T val)
objs
- 数组val
- 值,可以是 null,如果是对象,则会用 equals 来比较public static StringBuilder concat(Object c, long[] vals)
每个元素之间,都会用一个给定的字符分隔
c
- 分隔符vals
- 数组public static StringBuilder concat(Object c, int[] vals)
每个元素之间,都会用一个给定的字符分隔
c
- 分隔符vals
- 数组public static <T> StringBuilder concat(int offset, int len, Object c, T[] objs)
每个元素之间,都会用一个给定的字符分隔
offset
- 开始元素的下标len
- 元素数量c
- 分隔符objs
- 数组public static <T> StringBuilder concat(T[] objs)
objs
- 数组public static <T> StringBuilder concat(int offset, int len, T[] array)
offset
- 开始元素的下标len
- 元素数量array
- 数组public static <T> StringBuilder concat(Object c, Collection<T> coll)
每个元素之间,都会用一个给定的字符分隔
c
- 分隔符coll
- 集合public static <T> StringBuilder concat(Object c, Iterator<T> it)
每个元素之间,都会用一个给定的字符分隔
c
- 分隔符it
- 集合public static <C extends Collection<T>,T> C fill(C coll, T[]... objss)
C
- 集合类型T
- 数组元素类型coll
- 集合objss
- 数组 (数目可变)public static <T extends Map<Object,Object>> T collection2map(Class<T> mapClass, Collection<?> coll, String keyFieldName)
mapClass
- Map 的类型coll
- 集合对象keyFieldName
- 采用集合中元素的哪个一个字段为键。public static <E> List<E> collection2list(Collection<E> col)
col
- 集合对象public static <E> List<E> collection2list(Collection<?> col, Class<E> eleType)
col
- 集合对象eleType
- 列表类型public static <E> E[] collection2array(Collection<E> coll)
coll
- 集合对象public static <E> E[] collection2array(Collection<?> col, Class<E> eleType)
col
- 集合对象eleType
- 数组元素类型public static <T extends Map<Object,Object>> T array2map(Class<T> mapClass, Object array, String keyFieldName)
mapClass
- Map 的类型array
- 数组keyFieldName
- 采用集合中元素的哪个一个字段为键。public static <T> List<T> array2list(T[] array)
array
- 原始数组Castors
public static <T,E> List<E> array2list(Object array, Class<E> eleType)
array
- 原始数组eleType
- 新列表的元素类型Castors
public static Object array2array(Object array, Class<?> eleType) throws FailToCastObjectException
array
- 原始数组eleType
- 新数组的元素类型FailToCastObjectException
Castors
public static <T> Object[] array2ObjectArray(T[] args, Class<?>[] pts) throws FailToCastObjectException
args
- 原始数组pts
- 新数组的元素类型FailToCastObjectException
Castors
public static <T> T map2Object(Map<?,?> src, Class<T> toType) throws FailToCastObjectException
src
- Map 对象toType
- JAVA 对象类型FailToCastObjectException
public static NutMap map(String str)
str
- 参照 JSON 标准的字符串,但是可以没有前后的大括号public static void convertMapKey(Object obj, MapKeyConvertor mkc, boolean recur)
obj
- 要转换的 Map 或者 集合或者数组mkc
- 键值修改的回调recur
- 遇到 Map 是否递归MapKeyConvertor
public static NutMap mapf(String fmt, Object... args)
fmt
- 格式化字符串args
- 字符串参数public static Context context()
public static Context context(Map<String,Object> map)
map
- Map 对象public static Context contextf(String fmt, Object... args)
fmt
- JSON 字符串模板args
- 模板参数public static List<Object> list4(String str)
str
- 参照 JSON 标准的字符串,但是可以没有前后的中括号public static int length(Object obj)
obj
- public static <T> T first(Collection<T> coll)
coll
- 集合public static <T> void each(Object obj, Each<T> callback)
obj
- 对象callback
- 回调public static <T> void each(Object obj, boolean loopMap, Each<T> callback)
obj
- 对象loopMap
- 是否循环 Map,如果循环 Map 则主要看 callback 的 T,如果是 Map.Entry 则循环 Entry
否循环 value。如果本值为 false, 则将 Map 当作一个完整的对象来看待callback
- 回调public static <T> T get(T[] array, int index)
如果该下标越界,则返回 null
T
- array
- 数组,如果为 null 则直接返回 nullindex
- 下标,-1 表示倒数第一个, -2 表示倒数第二个,以此类推public static String getStackTrace(Throwable e)
e
- 抛出对象public static boolean parseBoolean(String s)
s
- 字符串public static DocumentBuilder xmls() throws ParserConfigurationException
ParserConfigurationException
public static void quiteSleep(long millisecond)
millisecond
- 休眠时间public static Number str2number(String s)
s
- 参数public static Map<String,Object> obj2map(Object obj)
obj
- POJO 对象public static NutMap obj2nutmap(Object obj)
obj
- POJO du对象public static <T extends Map<String,Object>> T obj2map(Object obj, Class<T> mapType)
T
- obj
- POJO 对象mapType
- Map 的类型public static <T> Enumeration<T> enumeration(Collection<T> col)
col
- 集合对象public static <T extends Collection<E>,E> T enum2collection(Enumeration<E> enums, T cols)
enums
- 枚举对象cols
- 集合对象public static byte[] toBytes(char[] cs)
cs
- 字符数组public static byte[] toBytes(int[] is)
is
- 整数数组public static boolean isWin()
public static Class<?> loadClass(String className) throws ClassNotFoundException
public static boolean isJDK6()
public static Object getPrimitiveDefaultValue(Class<?> pClass)
pClass
- 基本类型public static Type getFieldType(Mirror<?> me, String field) throws NoSuchFieldException
me
- field
- NoSuchFieldException
public static Type[] getMethodParamTypes(Mirror<?> me, Method method)
me
- method
- public static Type getFieldType(Mirror<?> me, Field field)
me
- field
- public static Type getGenericsType(Mirror<?> me, Type type)
me
- type
- public static Class<?> getTypeClass(Type type)
type
- 类型public static Type[] getGenericsTypes(Type type)
type
- 类型public static <T> Class<T> forName(String name, Class<T> type)
T
- name
- 类名type
- 这个类型的边界public static String md5(File f)
f
- 文件digest(String, File)
public static String md5(InputStream ins)
ins
- 输入流digest(String, InputStream)
public static String md5(CharSequence cs)
cs
- 字符串digest(String, CharSequence)
public static String sha1(File f)
f
- 文件digest(String, File)
public static String sha1(InputStream ins)
ins
- 输入流digest(String, InputStream)
public static String sha1(CharSequence cs)
cs
- 字符串digest(String, CharSequence)
public static String sha256(File f)
f
- 文件digest(String, File)
public static String sha256(InputStream ins)
ins
- 输入流digest(String, InputStream)
public static String sha256(CharSequence cs)
cs
- 字符串digest(String, CharSequence)
public static String digest(String algorithm, File f)
algorithm
- 算法,比如 "SHA1" "SHA-256" 或者 "MD5" 等f
- 文件public static String digest(String algorithm, InputStream ins)
algorithm
- 算法,比如 "SHA1" 或者 "MD5" 等ins
- 输入流public static String digest(String algorithm, CharSequence cs)
algorithm
- 算法,比如 "SHA1" 或者 "MD5" 等cs
- 字符串public static String digest(String algorithm, byte[] bytes, byte[] salt, int iterations)
algorithm
- 算法,比如 "SHA1" 或者 "MD5" 等bytes
- 字节数组salt
- 随机字节数组iterations
- 迭代次数public static <T> void reverse(T[] arrays)
arrays
- 指定的数组@Deprecated public static String simpleMetodDesc(Method method)
public static String fixedHexString(byte[] hashBytes)
public static void sleep(long ms)
ms
- 要睡眠的时间 mspublic static void wait(Object lock, long ms)
lock
- 锁对象ms
- 要等待的时间 mspublic static void notifyAll(Object lock)
lock
- 锁对象public static void runInAnThread(Runnable runnable)
public static Map<String,Object> filter(Map<String,Object> source, String prefix, String include, String exclude, Map<String,String> keyMap)
source
- 原始的map对象prefix
- 包含什么前缀,并移除前缀include
- 正则表达式 仅包含哪些key(如果有前缀要求,则已经移除了前缀)exclude
- 正则表达式 排除哪些key(如果有前缀要求,则已经移除了前缀)keyMap
- 映射map, 原始key--目标key (如果有前缀要求,则已经移除了前缀)public static String getIP(javax.servlet.http.HttpServletRequest request)
request
- 请求的req对象public static String runRootPath()
public static <T> T copyProperties(Object origin, T target)
public static <T> T copyProperties(Object origin, T target, String active, String lock, boolean ignoreNull, boolean ignoreStatic)
public static StringBuilder execOutput(String cmd) throws IOException
IOException
public static StringBuilder execOutput(String cmd, Charset charset) throws IOException
IOException
public static StringBuilder execOutput(String[] cmd) throws IOException
IOException
public static StringBuilder execOutput(String[] cmd, Charset charset) throws IOException
IOException
public static void exec(String cmd, StringBuilder out, StringBuilder err) throws IOException
IOException
public static void exec(String[] cmd, StringBuilder out, StringBuilder err) throws IOException
IOException
public static void exec(String[] cmd, Charset charset, StringBuilder out, StringBuilder err) throws IOException
IOException
public static byte[] toBytes(Object obj)
public static <T> T fromBytes(byte[] buf, Class<T> klass)
Copyright © 2017. All rights reserved.