工具包集合,工具类快捷方式
类名:Func
requireNotNull
/**
* 断言,必须不能为 null
* <blockquote><pre>
* public Foo(Bar bar) {
* this.bar = $.requireNotNull(bar);
* }
* </pre></blockquote>
*
* @param obj the object reference to check for nullity
* @param <T> the type of the reference
* @return {@code obj} if not {@code null}
* @throws NullPointerException if {@code obj} is {@code null}
*/
Func.requireNotNull(T obj);
requireNotNull
/**
* 断言,必须不能为 null
* <blockquote><pre>
* public Foo(Bar bar, Baz baz) {
* this.bar = $.requireNotNull(bar, "bar must not be null");
* this.baz = $.requireNotNull(baz, "baz must not be null");
* }
* </pre></blockquote>
*
* @param obj the object reference to check for nullity
* @param message detail message to be used in the event that a {@code
* NullPointerException} is thrown
* @param <T> the type of the reference
* @return {@code obj} if not {@code null}
* @throws NullPointerException if {@code obj} is {@code null}
*/
Func.requireNotNull(T obj, String message);
requireNotNull
/**
* 断言,必须不能为 null
* <blockquote><pre>
* public Foo(Bar bar, Baz baz) {
* this.bar = $.requireNotNull(bar, () -> "bar must not be null");
* }
* </pre></blockquote>
*
* @param obj the object reference to check for nullity
* @param messageSupplier supplier of the detail message to be
* used in the event that a {@code NullPointerException} is thrown
* @param <T> the type of the reference
* @return {@code obj} if not {@code null}
* @throws NullPointerException if {@code obj} is {@code null}
*/
Func.requireNotNull(T obj, Supplier<String> messageSupplier);
isNull
/**
* 判断对象是否为null
* <p>
* This method exists to be used as a
* {@link java.util.function.Predicate}, {@code filter($::isNull)}
* </p>
*
* @param obj a reference to be checked against {@code null}
* @return {@code true} if the provided reference is {@code null} otherwise
* {@code false}
* @see java.util.function.Predicate
*/
Func.isNull(Object obj);
notNull
/**
* 判断对象是否 not null
* <p>
* This method exists to be used as a
* {@link java.util.function.Predicate}, {@code filter($::notNull)}
* </p>
*
* @param obj a reference to be checked against {@code null}
* @return {@code true} if the provided reference is non-{@code null}
* otherwise {@code false}
* @see java.util.function.Predicate
*/
Func.notNull(Object obj);
firstCharToLower
/**
* 首字母变小写
*
* @param str 字符串
* @return {String}
*/
Func.firstCharToLower(String str);
firstCharToUpper
/**
* 首字母变大写
*
* @param str 字符串
* @return {String}
*/
Func.firstCharToUpper(String str);
isBlank
/**
* 判断是否为空字符串
* <pre class="code">
* $.isBlank(null) = true
* $.isBlank("") = true
* $.isBlank(" ") = true
* $.isBlank("12345") = false
* $.isBlank(" 12345 ") = false
* </pre>
*
* @param cs the {@code CharSequence} to check (may be {@code null})
* @return {@code true} if the {@code CharSequence} is not {@code null},
* its length is greater than 0, and it does not contain whitespace only
* @see Character#isWhitespace
*/
Func.isBlank(CharSequence cs);
isNotBlank
/**
* 判断不为空字符串
* <pre>
* $.isNotBlank(null) = false
* $.isNotBlank("") = false
* $.isNotBlank(" ") = false
* $.isNotBlank("bob") = true
* $.isNotBlank(" bob ") = true
* </pre>
*
* @param cs the CharSequence to check, may be null
* @return {@code true} if the CharSequence is
* not empty and not null and not whitespace
* @see Character#isWhitespace
*/
Func.isNotBlank(CharSequence cs);
isAnyBlank
/**
* 判断是否有任意一个 空字符串
*
* @param css CharSequence
* @return boolean
*/
Func.isAnyBlank(CharSequence css);
isNoneBlank
/**
* 判断是否全为非空字符串
*
* @param css CharSequence
* @return boolean
*/
Func.isNoneBlank(CharSequence css);
isArray
/**
* 判断对象是数组
*
* @param obj the object to check
* @return 是否数组
*/
Func.isArray(Object obj);
isEmpty
/**
* 判断空对象 object、map、list、set、字符串、数组
*
* @param obj the object to check
* @return 数组是否为空
*/
Func.isEmpty(Object obj);
isNotEmpty
/**
* 对象不为空 object、map、list、set、字符串、数组
*
* @param obj the object to check
* @return 是否不为空
*/
Func.isNotEmpty(Object obj);
isEmpty
/**
* 判断数组为空
*
* @param array the array to check
* @return 数组是否为空
*/
Func.isEmpty(Object[] array);
isNotEmpty
/**
* 判断数组不为空
*
* @param array 数组
* @return 数组是否不为空
*/
Func.isNotEmpty(Object[] array);
hasEmpty
/**
* 对象组中是否存在 Empty Object
*
* @param os 对象组
* @return boolean
*/
Func.hasEmpty(Object os);
isAllEmpty
/**
* 对象组中是否全部为 Empty Object
*
* @param os 对象组
* @return boolean
*/
Func.isAllEmpty(Object os);
format
/**
* 将字符串中特定模式的字符转换成map中对应的值
* <p>
* use: format("my name is ${name}, and i like ${like}!", {"name":"L.cm", "like": "Java"})
*
* @param message 需要转换的字符串
* @param params 转换所需的键值对集合
* @return 转换后的字符串
*/
Func.format(String message, Map<String,Object> params);
format
/**
* 同 log 格式的 format 规则
* <p>
* use: format("my name is {}, and i like {}!", "L.cm", "Java")
*
* @param message 需要转换的字符串
* @param arguments 需要替换的变量
* @return 转换后的字符串
*/
Func.format(String message, Object arguments);
equals
/**
* 比较两个对象是否相等。<br>
* 相同的条件有两个,满足其一即可:<br>
*
* @param obj1 对象1
* @param obj2 对象2
* @return 是否相等
*/
Func.equals(Object obj1, Object obj2);
equalsSafe
/**
* 安全的 equals
*
* @param o1 first Object to compare
* @param o2 second Object to compare
* @return whether the given objects are equal
* @see Object#equals(Object)
* @see java.util.Arrays#equals
*/
Func.equalsSafe(Object o1, Object o2);
contains
/**
* 判断数组中是否包含元素
*
* @param array the Array to check
* @param element the element to look for
* @param <T> The generic tag
* @return {@code true} if found, {@code false} else
*/
Func.contains(T[] array, T element);
contains
/**
* 判断迭代器中是否包含元素
*
* @param iterator the Iterator to check
* @param element the element to look for
* @return {@code true} if found, {@code false} otherwise
*/
Func.contains(Iterator<?> iterator, Object element);
contains
/**
* 判断枚举是否包含该元素
*
* @param enumeration the Enumeration to check
* @param element the element to look for
* @return {@code true} if found, {@code false} otherwise
*/
Func.contains(Enumeration<?> enumeration, Object element);
ofImmutableSet
/**
* 不可变 Set
*
* @param es 对象
* @param <E> 泛型
* @return 集合
*/
Func.ofImmutableSet(E es);
ofImmutableList
/**
* 不可变 List
*
* @param es 对象
* @param <E> 泛型
* @return 集合
*/
Func.ofImmutableList(E es);
toStr
/**
* 强转string,并去掉多余空格
*
* @param str 字符串
* @return {String}
*/
Func.toStr(Object str);
toStr
/**
* 强转string,并去掉多余空格
*
* @param str 字符串
* @param defaultValue 默认值
* @return {String}
*/
Func.toStr(Object str, String defaultValue);
toStrWithEmpty
/**
* 强转string(包含空字符串),并去掉多余空格
*
* @param str 字符串
* @param defaultValue 默认值
* @return {String}
*/
Func.toStrWithEmpty(Object str, String defaultValue);
isNumeric
/**
* 判断一个字符串是否是数字
*
* @param cs the CharSequence to check, may be null
* @return {boolean}
*/
Func.isNumeric(CharSequence cs);
toInt
/**
* 字符串转 int,为空则返回0
*
* <pre>
* $.toInt(null) = 0
* $.toInt("") = 0
* $.toInt("1") = 1
* </pre>
*
* @param str the string to convert, may be null
* @return the int represented by the string, or <code>zero</code> if
* conversion fails
*/
Func.toInt(Object str);
toInt
/**
* 字符串转 int,为空则返回默认值
*
* <pre>
* $.toInt(null, 1) = 1
* $.toInt("", 1) = 1
* $.toInt("1", 0) = 1
* </pre>
*
* @param str the string to convert, may be null
* @param defaultValue the default value
* @return the int represented by the string, or the default if conversion fails
*/
Func.toInt(Object str, int defaultValue);
toLong
/**
* 字符串转 long,为空则返回0
*
* <pre>
* $.toLong(null) = 0L
* $.toLong("") = 0L
* $.toLong("1") = 1L
* </pre>
*
* @param str the string to convert, may be null
* @return the long represented by the string, or <code>0</code> if
* conversion fails
*/
Func.toLong(Object str);
toLong
/**
* 字符串转 long,为空则返回默认值
*
* <pre>
* $.toLong(null, 1L) = 1L
* $.toLong("", 1L) = 1L
* $.toLong("1", 0L) = 1L
* </pre>
*
* @param str the string to convert, may be null
* @param defaultValue the default value
* @return the long represented by the string, or the default if conversion fails
*/
Func.toLong(Object str, long defaultValue);
toDouble
/**
* <p>Convert a <code>String</code> to an <code>Double</code>, returning a
* default value if the conversion fails.</p>
*
* <p>If the string is <code>null</code>, the default value is returned.</p>
*
* <pre>
* $.toDouble(null, 1) = 1.0
* $.toDouble("", 1) = 1.0
* $.toDouble("1", 0) = 1.0
* </pre>
*
* @param value the string to convert, may be null
* @return the int represented by the string, or the default if conversion fails
*/
Func.toDouble(Object value);
toDouble
/**
* <p>Convert a <code>String</code> to an <code>Double</code>, returning a
* default value if the conversion fails.</p>
*
* <p>If the string is <code>null</code>, the default value is returned.</p>
*
* <pre>
* $.toDouble(null, 1) = 1.0
* $.toDouble("", 1) = 1.0
* $.toDouble("1", 0) = 1.0
* </pre>
*
* @param value the string to convert, may be null
* @param defaultValue the default value
* @return the int represented by the string, or the default if conversion fails
*/
Func.toDouble(Object value, Double defaultValue);
toFloat
/**
* <p>Convert a <code>String</code> to an <code>Float</code>, returning a
* default value if the conversion fails.</p>
*
* <p>If the string is <code>null</code>, the default value is returned.</p>
*
* <pre>
* $.toFloat(null, 1) = 1.00f
* $.toFloat("", 1) = 1.00f
* $.toFloat("1", 0) = 1.00f
* </pre>
*
* @param value the string to convert, may be null
* @return the int represented by the string, or the default if conversion fails
*/
Func.toFloat(Object value);
toFloat
/**
* <p>Convert a <code>String</code> to an <code>Float</code>, returning a
* default value if the conversion fails.</p>
*
* <p>If the string is <code>null</code>, the default value is returned.</p>
*
* <pre>
* $.toFloat(null, 1) = 1.00f
* $.toFloat("", 1) = 1.00f
* $.toFloat("1", 0) = 1.00f
* </pre>
*
* @param value the string to convert, may be null
* @param defaultValue the default value
* @return the int represented by the string, or the default if conversion fails
*/
Func.toFloat(Object value, Float defaultValue);
toBoolean
/**
* <p>Convert a <code>String</code> to an <code>Boolean</code>, returning a
* default value if the conversion fails.</p>
*
* <p>If the string is <code>null</code>, the default value is returned.</p>
*
* <pre>
* $.toBoolean("true", true) = true
* $.toBoolean("false") = false
* $.toBoolean("", false) = false
* </pre>
*
* @param value the string to convert, may be null
* @return the int represented by the string, or the default if conversion fails
*/
Func.toBoolean(Object value);
toBoolean
/**
* <p>Convert a <code>String</code> to an <code>Boolean</code>, returning a
* default value if the conversion fails.</p>
*
* <p>If the string is <code>null</code>, the default value is returned.</p>
*
* <pre>
* $.toBoolean("true", true) = true
* $.toBoolean("false") = false
* $.toBoolean("", false) = false
* </pre>
*
* @param value the string to convert, may be null
* @param defaultValue the default value
* @return the int represented by the string, or the default if conversion fails
*/
Func.toBoolean(Object value, Boolean defaultValue);
toIntArray
/**
* 转换为Integer数组<br>
*
* @param str 被转换的值
* @return 结果
*/
Func.toIntArray(String str);
toIntArray
/**
* 转换为Integer数组<br>
*
* @param split 分隔符
* @param str 被转换的值
* @return 结果
*/
Func.toIntArray(String split, String str);
toIntList
/**
* 转换为Integer集合<br>
*
* @param str 结果被转换的值
* @return 结果
*/
Func.toIntList(String str);
toIntList
/**
* 转换为Integer集合<br>
*
* @param split 分隔符
* @param str 被转换的值
* @return 结果
*/
Func.toIntList(String split, String str);
firstInt
/**
* 获取第一位Integer数值
*
* @param str 被转换的值
* @return 结果
*/
Func.firstInt(String str);
firstInt
/**
* 获取第一位Integer数值
*
* @param split 分隔符
* @param str 被转换的值
* @return 结果
*/
Func.firstInt(String split, String str);
toLongArray
/**
* 转换为Long数组<br>
*
* @param str 被转换的值
* @return 结果
*/
Func.toLongArray(String str);
toLongArray
/**
* 转换为Long数组<br>
*
* @param split 分隔符
* @param str 被转换的值
* @return 结果
*/
Func.toLongArray(String split, String str);
toLongList
/**
* 转换为Long集合<br>
*
* @param str 结果被转换的值
* @return 结果
*/
Func.toLongList(String str);
toLongList
/**
* 转换为Long集合<br>
*
* @param split 分隔符
* @param str 被转换的值
* @return 结果
*/
Func.toLongList(String split, String str);
firstLong
/**
* 获取第一位Long数值
*
* @param str 被转换的值
* @return 结果
*/
Func.firstLong(String str);
firstLong
/**
* 获取第一位Long数值
*
* @param split 分隔符
* @param str 被转换的值
* @return 结果
*/
Func.firstLong(String split, String str);
toStrArray
/**
* 转换为String数组<br>
*
* @param str 被转换的值
* @return 结果
*/
Func.toStrArray(String str);
toStrArray
/**
* 转换为String数组<br>
*
* @param split 分隔符
* @param str 被转换的值
* @return 结果
*/
Func.toStrArray(String split, String str);
toStrList
/**
* 转换为String集合<br>
*
* @param str 结果被转换的值
* @return 结果
*/
Func.toStrList(String str);
toStrList
/**
* 转换为String集合<br>
*
* @param split 分隔符
* @param str 被转换的值
* @return 结果
*/
Func.toStrList(String split, String str);
firstStr
/**
* 获取第一位String数值
*
* @param str 被转换的值
* @return 结果
*/
Func.firstStr(String str);
firstStr
/**
* 获取第一位String数值
*
* @param split 分隔符
* @param str 被转换的值
* @return 结果
*/
Func.firstStr(String split, String str);
to62String
/**
* 将 long 转短字符串 为 62 进制
*
* @param num 数字
* @return 短字符串
*/
Func.to62String(long num);
join
/**
* 将集合拼接成字符串,默认使用`,`拼接
*
* @param coll the {@code Collection} to convert
* @return the delimited {@code String}
*/
Func.join(Collection<?> coll);
join
/**
* 将集合拼接成字符串,默认指定分隔符
*
* @param coll the {@code Collection} to convert
* @param delim the delimiter to use (typically a ",")
* @return the delimited {@code String}
*/
Func.join(Collection<?> coll, String delim);
join
/**
* 将数组拼接成字符串,默认使用`,`拼接
*
* @param arr the array to display
* @return the delimited {@code String}
*/
Func.join(Object[] arr);
join
/**
* 将数组拼接成字符串,默认指定分隔符
*
* @param arr the array to display
* @param delim the delimiter to use (typically a ",")
* @return the delimited {@code String}
*/
Func.join(Object[] arr, String delim);
split
/**
* 切分字符串,不去除切分后每个元素两边的空白符,不去除空白项
*
* @param str 被切分的字符串
* @param separator 分隔符字符
* @return 切分后的集合
*/
Func.split(CharSequence str, char separator);
splitTrim
/**
* 切分字符串,去除切分后每个元素两边的空白符,去除空白项
*
* @param str 被切分的字符串
* @param separator 分隔符字符
* @return 切分后的集合
*/
Func.splitTrim(CharSequence str, char separator);
splitTrim
/**
* 切分字符串,去除切分后每个元素两边的空白符,去除空白项
*
* @param str 被切分的字符串
* @param separator 分隔符字符
* @return 切分后的集合
*/
Func.splitTrim(CharSequence str, CharSequence separator);
split
/**
* 分割 字符串
*
* @param str 字符串
* @param delimiter 分割符
* @return 字符串数组
*/
Func.split(String str, String delimiter);
splitTrim
/**
* 分割 字符串 删除常见 空白符
*
* @param str 字符串
* @param delimiter 分割符
* @return 字符串数组
*/
Func.splitTrim(String str, String delimiter);
simpleMatch
/**
* 字符串是否符合指定的 表达式
*
* <p>
* pattern styles: "xxx*", "*xxx", "*xxx*" and "xxx*yyy"
* </p>
*
* @param pattern 表达式
* @param str 字符串
* @return 是否匹配
*/
Func.simpleMatch(String pattern, String str);
simpleMatch
/**
* 字符串是否符合指定的 表达式
*
* <p>
* pattern styles: "xxx*", "*xxx", "*xxx*" and "xxx*yyy"
* </p>
*
* @param patterns 表达式 数组
* @param str 字符串
* @return 是否匹配
*/
Func.simpleMatch(String[] patterns, String str);
randomUUID
/**
* 生成uuid
*
* @return UUID
*/
Func.randomUUID();
escapeHtml
/**
* 转义HTML用于安全过滤
*
* @param html html
* @return {String}
*/
Func.escapeHtml(String html);
random
/**
* 随机数生成
*
* @param count 字符长度
* @return 随机数
*/
Func.random(int count);
random
/**
* 随机数生成
*
* @param count 字符长度
* @param randomType 随机数类别
* @return 随机数
*/
Func.random(int count, RandomType randomType);
md5Hex
/**
* 字符串序列化成 md5
*
* @param data Data to digest
* @return MD5 digest as a hex string
*/
Func.md5Hex(String data);
md5Hex
/**
* 数组序列化成 md5
*
* @param bytes the bytes to calculate the digest over
* @return md5 digest string
*/
Func.md5Hex(byte[] bytes);
sha1Hex
/**
* sha1Hex
*
* @param data Data to digest
* @return digest as a hex string
*/
Func.sha1Hex(String data);
sha1Hex
/**
* sha1Hex
*
* @param bytes Data to digest
* @return digest as a hex string
*/
Func.sha1Hex(byte[] bytes);
sha224Hex
/**
* SHA224Hex
*
* @param data Data to digest
* @return digest as a hex string
*/
Func.sha224Hex(String data);
sha224Hex
/**
* SHA224Hex
*
* @param bytes Data to digest
* @return digest as a hex string
*/
Func.sha224Hex(byte[] bytes);
sha256Hex
/**
* sha256Hex
*
* @param data Data to digest
* @return digest as a hex string
*/
Func.sha256Hex(String data);
sha256Hex
/**
* sha256Hex
*
* @param bytes Data to digest
* @return digest as a hex string
*/
Func.sha256Hex(byte[] bytes);
sha384Hex
/**
* sha384Hex
*
* @param data Data to digest
* @return digest as a hex string
*/
Func.sha384Hex(String data);
sha384Hex
/**
* sha384Hex
*
* @param bytes Data to digest
* @return digest as a hex string
*/
Func.sha384Hex(byte[] bytes);
sha512Hex
/**
* sha512Hex
*
* @param data Data to digest
* @return digest as a hex string
*/
Func.sha512Hex(String data);
sha512Hex
/**
* sha512Hex
*
* @param bytes Data to digest
* @return digest as a hex string
*/
Func.sha512Hex(byte[] bytes);
hmacMd5Hex
/**
* hmacMd5 Hex
*
* @param data Data to digest
* @param key key
* @return digest as a hex string
*/
Func.hmacMd5Hex(String data, String key);
hmacMd5Hex
/**
* hmacMd5 Hex
*
* @param bytes Data to digest
* @param key key
* @return digest as a hex string
*/
Func.hmacMd5Hex(byte[] bytes, String key);
hmacSha1Hex
/**
* hmacSha1 Hex
*
* @param data Data to digest
* @param key key
* @return digest as a hex string
*/
Func.hmacSha1Hex(String data, String key);
hmacSha1Hex
/**
* hmacSha1 Hex
*
* @param bytes Data to digest
* @param key key
* @return digest as a hex string
*/
Func.hmacSha1Hex(byte[] bytes, String key);
hmacSha224Hex
/**
* hmacSha224 Hex
*
* @param data Data to digest
* @param key key
* @return digest as a hex string
*/
Func.hmacSha224Hex(String data, String key);
hmacSha224Hex
/**
* hmacSha224 Hex
*
* @param bytes Data to digest
* @param key key
* @return digest as a hex string
*/
Func.hmacSha224Hex(byte[] bytes, String key);
hmacSha256Hex
/**
* hmacSha256 Hex
*
* @param data Data to digest
* @param key key
* @return digest as a hex string
*/
Func.hmacSha256Hex(String data, String key);
hmacSha256Hex
/**
* hmacSha256 Hex
*
* @param bytes Data to digest
* @param key key
* @return digest as a hex string
*/
Func.hmacSha256Hex(byte[] bytes, String key);
hmacSha384Hex
/**
* hmacSha384 Hex
*
* @param data Data to digest
* @param key key
* @return digest as a hex string
*/
Func.hmacSha384Hex(String data, String key);
hmacSha384Hex
/**
* hmacSha384 Hex
*
* @param bytes Data to digest
* @param key key
* @return digest as a hex string
*/
Func.hmacSha384Hex(byte[] bytes, String key);
hmacSha512Hex
/**
* hmacSha512 Hex
*
* @param data Data to digest
* @param key key
* @return digest as a hex string
*/
Func.hmacSha512Hex(String data, String key);
hmacSha512Hex
/**
* hmacSha512 Hex
*
* @param bytes Data to digest
* @param key key
* @return digest as a hex string
*/
Func.hmacSha512Hex(byte[] bytes, String key);
encodeHex
/**
* byte 数组序列化成 hex
*
* @param bytes bytes to encode
* @return MD5 digest as a hex string
*/
Func.encodeHex(byte[] bytes);
decodeHex
/**
* 字符串反序列化成 hex
*
* @param hexString String to decode
* @return MD5 digest as a hex string
*/
Func.decodeHex(String hexString);
encodeBase64
/**
* Base64编码
*
* @param value 字符串
* @return {String}
*/
Func.encodeBase64(String value);
encodeBase64
/**
* Base64编码
*
* @param value 字符串
* @param charset 字符集
* @return {String}
*/
Func.encodeBase64(String value, Charset charset);
encodeBase64UrlSafe
/**
* Base64编码为URL安全
*
* @param value 字符串
* @return {String}
*/
Func.encodeBase64UrlSafe(String value);
encodeBase64UrlSafe
/**
* Base64编码为URL安全
*
* @param value 字符串
* @param charset 字符集
* @return {String}
*/
Func.encodeBase64UrlSafe(String value, Charset charset);
decodeBase64
/**
* Base64解码
*
* @param value 字符串
* @return {String}
*/
Func.decodeBase64(String value);
decodeBase64
/**
* Base64解码
*
* @param value 字符串
* @param charset 字符集
* @return {String}
*/
Func.decodeBase64(String value, Charset charset);
decodeBase64UrlSafe
/**
* Base64URL安全解码
*
* @param value 字符串
* @return {String}
*/
Func.decodeBase64UrlSafe(String value);
decodeBase64UrlSafe
/**
* Base64URL安全解码
*
* @param value 字符串
* @param charset 字符集
* @return {String}
*/
Func.decodeBase64UrlSafe(String value, Charset charset);
closeQuietly
/**
* 关闭 Closeable
*
* @param closeable 自动关闭
*/
Func.closeQuietly(Closeable closeable);
readToString
/**
* InputStream to String utf-8
*
* @param input the <code>InputStream</code> to read from
* @return the requested String
* @throws NullPointerException if the input is null
*/
Func.readToString(InputStream input);
readToString
/**
* InputStream to String
*
* @param input the <code>InputStream</code> to read from
* @param charset the <code>Charset</code>
* @return the requested String
* @throws NullPointerException if the input is null
*/
Func.readToString(InputStream input, Charset charset);
readToByteArray
/**
* InputStream to bytes 数组
*
* @param input InputStream
* @return the requested byte array
*/
Func.readToByteArray(InputStream input);
readToString
/**
* 读取文件为字符串
*
* @param file the file to read, must not be {@code null}
* @return the file contents, never {@code null}
*/
Func.readToString(File file);
readToString
/**
* 读取文件为字符串
*
* @param file the file to read, must not be {@code null}
* @param encoding the encoding to use, {@code null} means platform default
* @return the file contents, never {@code null}
*/
Func.readToString(File file, Charset encoding);
readToByteArray
/**
* 读取文件为 byte 数组
*
* @param file the file to read, must not be {@code null}
* @return the file contents, never {@code null}
*/
Func.readToByteArray(File file);
toJson
/**
* 将对象序列化成json字符串
*
* @param object javaBean
* @return jsonString json字符串
*/
Func.toJson(Object object);
toJsonAsBytes
/**
* 将对象序列化成 json byte 数组
*
* @param object javaBean
* @return jsonString json字符串
*/
Func.toJsonAsBytes(Object object);
readTree
/**
* 将json字符串转成 JsonNode
*
* @param jsonString jsonString
* @return jsonString json字符串
*/
Func.readTree(String jsonString);
readTree
/**
* 将json字符串转成 JsonNode
*
* @param in InputStream
* @return jsonString json字符串
*/
Func.readTree(InputStream in);
readTree
/**
* 将json字符串转成 JsonNode
*
* @param content content
* @return jsonString json字符串
*/
Func.readTree(byte[] content);
readTree
/**
* 将json字符串转成 JsonNode
*
* @param jsonParser JsonParser
* @return jsonString json字符串
*/
Func.readTree(JsonParser jsonParser);
readJson
/**
* 将json byte 数组反序列化成对象
*
* @param bytes json bytes
* @param valueType class
* @param <T> T 泛型标记
* @return Bean
*/
Func.readJson(byte[] bytes, Class<T> valueType);
readJson
/**
* 将json反序列化成对象
*
* @param jsonString jsonString
* @param valueType class
* @param <T> T 泛型标记
* @return Bean
*/
Func.readJson(String jsonString, Class<T> valueType);
readJson
/**
* 将json反序列化成对象
*
* @param in InputStream
* @param valueType class
* @param <T> T 泛型标记
* @return Bean
*/
Func.readJson(InputStream in, Class<T> valueType);
readJson
/**
* 将json反序列化成对象
*
* @param bytes bytes
* @param typeReference 泛型类型
* @param <T> T 泛型标记
* @return Bean
*/
Func.readJson(byte[] bytes, TypeReference<?> typeReference);
readJson
/**
* 将json反序列化成对象
*
* @param jsonString jsonString
* @param typeReference 泛型类型
* @param <T> T 泛型标记
* @return Bean
*/
Func.readJson(String jsonString, TypeReference<?> typeReference);
readJson
/**
* 将json反序列化成对象
*
* @param in InputStream
* @param typeReference 泛型类型
* @param <T> T 泛型标记
* @return Bean
*/
Func.readJson(InputStream in, TypeReference<?> typeReference);
urlEncode
/**
* url 编码
*
* @param source the String to be encoded
* @return the encoded String
*/
Func.urlEncode(String source);
urlEncode
/**
* url 编码
*
* @param source the String to be encoded
* @param charset the character encoding to encode to
* @return the encoded String
*/
Func.urlEncode(String source, Charset charset);
urlDecode
/**
* url 解码
*
* @param source the encoded String
* @return the decoded value
* @throws IllegalArgumentException when the given source contains invalid encoded sequences
* @see StringUtils#uriDecode(String, Charset)
* @see java.net.URLDecoder#decode(String, String)
*/
Func.urlDecode(String source);
urlDecode
/**
* url 解码
*
* @param source the encoded String
* @param charset the character encoding to use
* @return the decoded value
* @throws IllegalArgumentException when the given source contains invalid encoded sequences
* @see StringUtils#uriDecode(String, Charset)
* @see java.net.URLDecoder#decode(String, String)
*/
Func.urlDecode(String source, Charset charset);
formatDateTime
/**
* 日期时间格式化
*
* @param date 时间
* @return 格式化后的时间
*/
Func.formatDateTime(Date date);
formatDate
/**
* 日期格式化
*
* @param date 时间
* @return 格式化后的时间
*/
Func.formatDate(Date date);
formatTime
/**
* 时间格式化
*
* @param date 时间
* @return 格式化后的时间
*/
Func.formatTime(Date date);
format
/**
* 对象格式化 支持数字,date,java8时间
*
* @param object 格式化对象
* @param pattern 表达式
* @return 格式化后的字符串
*/
Func.format(Object object, String pattern);
parseDate
/**
* 将字符串转换为时间
*
* @param dateStr 时间字符串
* @param pattern 表达式
* @return 时间
*/
Func.parseDate(String dateStr, String pattern);
parse
/**
* 将字符串转换为时间
*
* @param dateStr 时间字符串
* @param format ConcurrentDateFormat
* @return 时间
*/
Func.parse(String dateStr, ConcurrentDateFormat format);
formatDateTime
/**
* 日期时间格式化
*
* @param temporal 时间
* @return 格式化后的时间
*/
Func.formatDateTime(TemporalAccessor temporal);
formatDate
/**
* 日期时间格式化
*
* @param temporal 时间
* @return 格式化后的时间
*/
Func.formatDate(TemporalAccessor temporal);
formatTime
/**
* 时间格式化
*
* @param temporal 时间
* @return 格式化后的时间
*/
Func.formatTime(TemporalAccessor temporal);
parseDateTime
/**
* 将字符串转换为时间
*
* @param dateStr 时间字符串
* @param formatter DateTimeFormatter
* @return 时间
*/
Func.parseDateTime(String dateStr, DateTimeFormatter formatter);
parseDateTime
/**
* 将字符串转换为时间
*
* @param dateStr 时间字符串
* @return 时间
*/
Func.parseDateTime(String dateStr);
parseDate
/**
* 将字符串转换为时间
*
* @param dateStr 时间字符串
* @param formatter DateTimeFormatter
* @return 时间
*/
Func.parseDate(String dateStr, DateTimeFormatter formatter);
parseDate
/**
* 将字符串转换为日期
*
* @param dateStr 时间字符串
* @return 时间
*/
Func.parseDate(String dateStr);
parseTime
/**
* 将字符串转换为时间
*
* @param dateStr 时间字符串
* @param formatter DateTimeFormatter
* @return 时间
*/
Func.parseTime(String dateStr, DateTimeFormatter formatter);
parseTime
/**
* 将字符串转换为时间
*
* @param dateStr 时间字符串
* @return 时间
*/
Func.parseTime(String dateStr);
between
/**
* 时间比较
*
* @param startInclusive the start instant, inclusive, not null
* @param endExclusive the end instant, exclusive, not null
* @return a {@code Duration}, not null
*/
Func.between(Temporal startInclusive, Temporal endExclusive);
between
/**
* 比较2个 时间差
*
* @param startDate 开始时间
* @param endDate 结束时间
* @return 时间间隔
*/
Func.between(Date startDate, Date endDate);
convert
/**
* 对象类型转换
*
* @param source the source object
* @param targetType the target type
* @param <T> 泛型标记
* @return the converted value
* @throws IllegalArgumentException if targetType is {@code null},
* or sourceType is {@code null} but source is not {@code null}
*/
Func.convert(Object source, Class<T> targetType);
convert
/**
* 对象类型转换
*
* @param source the source object
* @param sourceType the source type
* @param targetType the target type
* @param <T> 泛型标记
* @return the converted value
* @throws IllegalArgumentException if targetType is {@code null},
* or sourceType is {@code null} but source is not {@code null}
*/
Func.convert(Object source, TypeDescriptor sourceType, TypeDescriptor targetType);
convert
/**
* 对象类型转换
*
* @param source the source object
* @param targetType the target type
* @param <T> 泛型标记
* @return the converted value
* @throws IllegalArgumentException if targetType is {@code null},
* or sourceType is {@code null} but source is not {@code null}
*/
Func.convert(Object source, TypeDescriptor targetType);
getMethodParameter
/**
* 获取方法参数信息
*
* @param constructor 构造器
* @param parameterIndex 参数序号
* @return {MethodParameter}
*/
Func.getMethodParameter(Constructor<?> constructor, int parameterIndex);
getMethodParameter
/**
* 获取方法参数信息
*
* @param method 方法
* @param parameterIndex 参数序号
* @return {MethodParameter}
*/
Func.getMethodParameter(Method method, int parameterIndex);
getAnnotation
/**
* 获取Annotation注解
*
* @param annotatedElement AnnotatedElement
* @param annotationType 注解类
* @param <A> 泛型标记
* @return {Annotation}
*/
Func.getAnnotation(AnnotatedElement annotatedElement, Class<A> annotationType);
getAnnotation
/**
* 获取Annotation,先找方法,没有则再找方法上的类
*
* @param method Method
* @param annotationType 注解类
* @param <A> 泛型标记
* @return {Annotation}
*/
Func.getAnnotation(Method method, Class<A> annotationType);
getAnnotation
/**
* 获取Annotation,先找HandlerMethod,没有则再找对应的类
*
* @param handlerMethod HandlerMethod
* @param annotationType 注解类
* @param <A> 泛型标记
* @return {Annotation}
*/
Func.getAnnotation(HandlerMethod handlerMethod, Class<A> annotationType);
newInstance
/**
* 实例化对象
*
* @param clazz 类
* @param <T> 泛型标记
* @return 对象
*/
Func.newInstance(Class<?> clazz);
newInstance
/**
* 实例化对象
*
* @param clazzStr 类名
* @param <T> 泛型标记
* @return 对象
*/
Func.newInstance(String clazzStr);
getProperty
/**
* 获取Bean的属性
*
* @param bean bean
* @param propertyName 属性名
* @return 属性值
*/
Func.getProperty(Object bean, String propertyName);
setProperty
/**
* 设置Bean属性
*
* @param bean bean
* @param propertyName 属性名
* @param value 属性值
*/
Func.setProperty(Object bean, String propertyName, Object value);
clone
/**
* 浅复制
*
* @param source 源对象
* @param <T> 泛型标记
* @return T
*/
Func.clone(T source);
copy
/**
* 拷贝对象,支持 Map 和 Bean
*
* @param source 源对象
* @param clazz 类名
* @param <T> 泛型标记
* @return T
*/
Func.copy(Object source, Class<T> clazz);
copy
/**
* 拷贝对象,支持 Map 和 Bean
*
* @param source 源对象
* @param targetBean 需要赋值的对象
*/
Func.copy(Object source, Object targetBean);
copyNonNull
/**
* 拷贝对象,source 对象属性做非 null 判断
*
* <p>
* 支持 map bean copy
* </p>
*
* @param source 源对象
* @param targetBean 需要赋值的对象
*/
Func.copyNonNull(Object source, Object targetBean);
copyWithConvert
/**
* 拷贝对象,并对不同类型属性进行转换
*
* @param source 源对象
* @param clazz 类名
* @param <T> 泛型标记
* @return T
*/
Func.copyWithConvert(Object source, Class<T> clazz);
copy
/**
* 拷贝列表对象
*
* <p>
* 支持 map bean copy
* </p>
*
* @param sourceList 源列表
* @param targetClazz 转换成的类型
* @param <T> 泛型标记
* @return T
*/
Func.copy(Collection<?> sourceList, Class<T> targetClazz);
copyWithConvert
/**
* 拷贝列表对象,并对不同类型属性进行转换
*
* <p>
* 支持 map bean copy
* </p>
*
* @param sourceList 源对象列表
* @param targetClazz 转换成的类
* @param <T> 泛型标记
* @return List
*/
Func.copyWithConvert(Collection<?> sourceList, Class<T> targetClazz);
copyProperties
/**
* 拷贝对象,扩展 Spring 的拷贝方法
*
* @param source the source bean
* @param clazz the target bean class
* @param <T> 泛型标记
* @return T
* @throws BeansException if the copying failed
*/
Func.copyProperties(Object source, Class<T> clazz);
copyProperties
/**
* 拷贝列表对象,扩展 Spring 的拷贝方法
*
* @param sourceList the source list bean
* @param targetClazz the target bean class
* @param <T> 泛型标记
* @return List
* @throws BeansException if the copying failed
*/
Func.copyProperties(Collection<?> sourceList, Class<T> targetClazz);
toMap
/**
* 将对象装成map形式
*
* @param bean 源对象
* @return {Map}
*/
Func.toMap(Object bean);
toBean
/**
* 将map 转为 bean
*
* @param beanMap map
* @param valueType 对象类型
* @param <T> 泛型标记
* @return {T}
*/
Func.toBean(Map<String,Object> beanMap, Class<T> valueType);