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