- * 注意:目前此注解仅供内部使用,用来标识类是否线程安全。(表示作者的预期) 真正效果需要验证。 + * 注意:目前此注解仅供内部使用,用来标识类是否线程安全 (表示作者的预期) 真正效果需要验证 *
- * 后期用途:可能会直接基于 class 进行反射创建,要求有些类需要显示指定这个注解。 + * 后期用途:可能会直接基于 class 进行反射创建,要求有些类需要显示指定这个注解 * * @author Kimi Liu * @version 5.2.2 diff --git a/bus-core/src/main/java/org/aoju/bus/core/annotation/env/Dev.java b/bus-core/src/main/java/org/aoju/bus/core/annotation/env/Dev.java index 9c9cee0f44..32f1f92b04 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/annotation/env/Dev.java +++ b/bus-core/src/main/java/org/aoju/bus/core/annotation/env/Dev.java @@ -27,7 +27,7 @@ /** * 开发环境 - * 表示当前方法禁止用于生产环境,仅可用于开发测试。 + * 表示当前方法禁止用于生产环境,仅可用于开发测试 * * @author Kimi Liu * @version 5.2.2 diff --git a/bus-core/src/main/java/org/aoju/bus/core/annotation/env/Prod.java b/bus-core/src/main/java/org/aoju/bus/core/annotation/env/Prod.java index 63f70448a2..25024ff031 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/annotation/env/Prod.java +++ b/bus-core/src/main/java/org/aoju/bus/core/annotation/env/Prod.java @@ -27,7 +27,7 @@ /** * 生产环境 - * 表示当前方法性能安全性各方面达标,可以用于生产环境。 + * 表示当前方法性能安全性各方面达标,可以用于生产环境 * * @author Kimi Liu * @version 5.2.2 diff --git a/bus-core/src/main/java/org/aoju/bus/core/beans/BeanDesc.java b/bus-core/src/main/java/org/aoju/bus/core/beans/BeanDesc.java index 9692ff3ea2..4b38984f67 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/beans/BeanDesc.java +++ b/bus-core/src/main/java/org/aoju/bus/core/beans/BeanDesc.java @@ -36,14 +36,14 @@ import java.util.Map; /** - * Bean信息描述做为BeanInfo替代方案,此对象持有JavaBean中的setters和getters等相关信息描述 + * Bean信息描述做为BeanInfo替代方案,此对象持有JavaBean中的setters和getters等相关信息描述 * 查找Getter和Setter方法时会: * *
* 1. 忽略字段和方法名的大小写 * 2. Getter查找getXXX、isXXX、getIsXXX * 3. Setter查找setXXX、setIsXXX - * 4. Setter忽略参数值与字段值不匹配的情况,因此有多个参数类型的重载时,会调用首次匹配的 + * 4. Setter忽略参数值与字段值不匹配的情况,因此有多个参数类型的重载时,会调用首次匹配的 ** * @author Kimi Liu @@ -93,7 +93,7 @@ public String getSimpleName() { /** * 获取字段名-字段属性Map * - * @param ignoreCase 是否忽略大小写,true为忽略,false不忽略 + * @param ignoreCase 是否忽略大小写,true为忽略,false不忽略 * @return 字段名-字段属性Map */ public Map
* 表达式: @@ -71,11 +71,11 @@ public BeanPath(String expression) { /** * 解析Bean路径表达式为Bean模式 - * Bean表达式,用于获取多层嵌套Bean中的字段值或Bean对象 - * 根据给定的表达式,查找Bean中对应的属性值对象。 表达式分为两种: + * Bean表达式,用于获取多层嵌套Bean中的字段值或Bean对象 + * 根据给定的表达式,查找Bean中对应的属性值对象 表达式分为两种: *
* 表达式栗子: @@ -159,7 +159,7 @@ private static String unWrapIfPossible(CharSequence expression) { * 获取Bean中对应表达式的值 * * @param bean Bean对象或Map或List等 - * @return 值,如果对应值不存在,则返回null + * @return 值, 如果对应值不存在, 则返回null */ public Object get(Object bean) { return get(this.patternParts, bean, false); @@ -167,12 +167,12 @@ public Object get(Object bean) { /** * 设置表达式指定位置(或filed对应)的值 - * 若表达式指向一个List则设置其坐标对应位置的值,若指向Map则put对应key的值,Bean则设置字段的值 + * 若表达式指向一个List则设置其坐标对应位置的值,若指向Map则put对应key的值,Bean则设置字段的值 * 注意: * *
- * 1. 如果为List,如果下标不大于List长度,则替换原有值,否则追加值 - * 2. 如果为数组,如果下标不大于数组长度,则替换原有值,否则追加值 + * 1. 如果为List,如果下标不大于List长度,则替换原有值,否则追加值 + * 2. 如果为数组,如果下标不大于数组长度,则替换原有值,否则追加值 ** * @param bean Bean、Map或List @@ -184,12 +184,12 @@ public void set(Object bean, Object value) { /** * 设置表达式指定位置(或filed对应)的值 - * 若表达式指向一个List则设置其坐标对应位置的值,若指向Map则put对应key的值,Bean则设置字段的值 + * 若表达式指向一个List则设置其坐标对应位置的值,若指向Map则put对应key的值,Bean则设置字段的值 * 注意: * *
- * 1. 如果为List,如果下标不大于List长度,则替换原有值,否则追加值 - * 2. 如果为数组,如果下标不大于数组长度,则替换原有值,否则追加值 + * 1. 如果为List,如果下标不大于List长度,则替换原有值,否则追加值 + * 2. 如果为数组,如果下标不大于数组长度,则替换原有值,否则追加值 ** * @param bean Bean、Map或List @@ -200,7 +200,7 @@ private void set(Object bean, List
- * 在Bean对象中,所有相关字段都参与比对,继承的字段不参与。使用方法如下: + * 在Bean对象中,所有相关字段都参与比对,继承的字段不参与 使用方法如下: * *
* public class MyClass { @@ -58,10 +58,10 @@ * } **
- * 字段值按照顺序比较,如果某个字段返回非0结果,比较终止,使用{@code toComparison()}返回结果,后续比较忽略。 + * 字段值按照顺序比较,如果某个字段返回非0结果,比较终止,使用{@code toComparison()}返回结果,后续比较忽略 * *
- * 也可以使用{@link #reflectionCompare(Object, Object) reflectionCompare} 方法通过反射比较字段,使用方法如下: + * 也可以使用{@link #reflectionCompare(Object, Object) reflectionCompare} 方法通过反射比较字段,使用方法如下: * *
* public int compareTo(Object o) { @@ -81,7 +81,7 @@ public class CompareToBuilder implements Builder{ private int comparison; /** - * 构造,构造后调用append方法增加比较项,然后调用{@link #toComparison()}获取结果 + * 构造,构造后调用append方法增加比较项,然后调用{@link #toComparison()}获取结果 */ public CompareToBuilder() { super(); @@ -89,7 +89,7 @@ public CompareToBuilder() { } /** - * 通过反射比较两个Bean对象,对象字段可以为private。比较规则如下: + * 通过反射比较两个Bean对象,对象字段可以为private 比较规则如下: * * *
* *- static字段不比较
@@ -98,7 +98,7 @@ public CompareToBuilder() { *- * 如果被比较的两个对象都为
null
,被认为相同。 + * 如果被比较的两个对象都为null
,被认为相同 * * @param left 第一个对象 * @param right 第二个对象 @@ -269,7 +269,7 @@ public static int reflectionCompare( } /** - * 附加到builder,比较left/right使用clazz. + * 附加到builder,比较left/right使用clazz. * * @param left 数值 * @param right 数值 @@ -304,7 +304,7 @@ private static void reflectionAppend( } /** - * 附加到 builder compareTo(Object) 超类的结果。 + * 附加到 builder compareTo(Object) 超类的结果 * * @param superCompareTo 调用super.compareTo(Object)
结果 * @return this - object @@ -322,8 +322,8 @@ public CompareToBuilder appendSuper(final int superCompareTo) { * **
* @@ -340,8 +340,8 @@ public CompareToBuilder append(final Object left, final Object right) { * *- 使用==检查数组是否相同
- *- 检查是否为null, null小于非null
- *- 检查数组长度,长度较短的数组小于长度较长的数组
+ *- 检查是否为null, null小于非null
+ *- 检查数组长度,长度较短的数组小于长度较长的数组
*- 使用{@link #append(Object, Object)}逐个元素检查数组内容
**
* @@ -533,8 +533,8 @@ public CompareToBuilder append(final boolean left, final boolean right) { * *- 使用==检查数组是否相同
- *- 检查是否为null, null小于非null
- *- 检查数组长度,长度较短的数组小于长度较长的数组
+ *- 检查是否为null, null小于非null
+ *- 检查数组长度,长度较短的数组小于长度较长的数组
*- 使用{@link #append(Object, Object, Comparator)}逐个元素检查数组内容
**
* @@ -551,8 +551,8 @@ public CompareToBuilder append(final Object[] left, final Object[] right) { * *- 使用==检查数组是否相同
- *- 检查是否为null, null小于非null
- *- 检查数组长度,长度较短的数组小于长度较长的数组
+ *- 检查是否为null, null小于非null
+ *- 检查数组长度,长度较短的数组小于长度较长的数组
*- 使用{@link #append(Object, Object)}逐个元素检查数组内容
**
* @@ -591,8 +591,8 @@ public CompareToBuilder append(final Object[] left, final Object[] right, final * *- 使用==检查数组是否相同
- *- 检查是否为null, null小于非null
- *- 检查数组长度,长度较短的数组小于长度较长的数组
+ *- 检查是否为null, null小于非null
+ *- 检查数组长度,长度较短的数组小于长度较长的数组
*- 使用{@link #append(Object, Object, Comparator)}逐个元素检查数组内容
**
* @@ -630,8 +630,8 @@ public CompareToBuilder append(final long[] left, final long[] right) { * *- 使用==检查数组是否相同
- *- 检查是否为null, null小于非null
- *- 检查数组长度,长度较短的数组小于长度较长的数组
+ *- 检查是否为null, null小于非null
+ *- 检查数组长度,长度较短的数组小于长度较长的数组
*- 使用{@link #append(long, long)}逐个元素检查数组内容
**
* @@ -669,8 +669,8 @@ public CompareToBuilder append(final int[] left, final int[] right) { * *- 使用==检查数组是否相同
- *- 检查是否为null, null小于非null
- *- 检查数组长度,长度较短的数组小于长度较长的数组
+ *- 检查是否为null, null小于非null
+ *- 检查数组长度,长度较短的数组小于长度较长的数组
*- 使用{@link #append(int, int)}逐个元素检查数组内容
**
* @@ -708,8 +708,8 @@ public CompareToBuilder append(final short[] left, final short[] right) { * *- 使用==检查数组是否相同
- *- 检查是否为null, null小于非null
- *- 检查数组长度,长度较短的数组小于长度较长的数组
+ *- 检查是否为null, null小于非null
+ *- 检查数组长度,长度较短的数组小于长度较长的数组
*- 使用{@link #append(short, short)}逐个元素检查数组内容
**
* @@ -747,8 +747,8 @@ public CompareToBuilder append(final char[] left, final char[] right) { * *- 使用==检查数组是否相同
- *- 检查是否为null, null小于非null
- *- 检查数组长度,长度较短的数组小于长度较长的数组
+ *- 检查是否为null, null小于非null
+ *- 检查数组长度,长度较短的数组小于长度较长的数组
*- 使用{@link #append(char, char)}逐个元素检查数组内容
**
* @@ -786,8 +786,8 @@ public CompareToBuilder append(final byte[] left, final byte[] right) { * *- 使用==检查数组是否相同
- *- 检查是否为null, null小于非null
- *- 检查数组长度,长度较短的数组小于长度较长的数组
+ *- 检查是否为null, null小于非null
+ *- 检查数组长度,长度较短的数组小于长度较长的数组
*- 使用{@link #append(byte, byte)}逐个元素检查数组内容
**
* @@ -825,8 +825,8 @@ public CompareToBuilder append(final double[] left, final double[] right) { * *- 使用==检查数组是否相同
- *- 检查是否为null, null小于非null
- *- 检查数组长度,长度较短的数组小于长度较长的数组
+ *- 检查是否为null, null小于非null
+ *- 检查数组长度,长度较短的数组小于长度较长的数组
*- 使用{@link #append(double, double)}逐个元素检查数组内容
**
* @@ -864,8 +864,8 @@ public CompareToBuilder append(final float[] left, final float[] right) { * *- 使用==检查数组是否相同
- *- 检查是否为null, null小于非null
- *- 检查数组长度,长度较短的数组小于长度较长的数组
+ *- 检查是否为null, null小于非null
+ *- 检查数组长度,长度较短的数组小于长度较长的数组
*- 使用{@link #append(float, float)}逐个元素检查数组内容
**
* @@ -900,7 +900,7 @@ public CompareToBuilder append(final boolean[] left, final boolean[] right) { /** * 返回一个负整数、一个正整数或零 - * builder判断左边小于、大于或等于右边。 + * builder判断左边小于、大于或等于右边 * * @return 比较结果 * @see #build() @@ -911,7 +911,7 @@ public int toComparison() { /** * 返回一个负整数、一个正整数或零 - * builder判断左边小于、大于或等于右边。 + * builder判断左边小于、大于或等于右边 * * @return 最终的比较结果为整数 * @see #toComparison() diff --git a/bus-core/src/main/java/org/aoju/bus/core/builder/EqualsBuilder.java b/bus-core/src/main/java/org/aoju/bus/core/builder/EqualsBuilder.java index 9e8d0803e5..ad80fbdd9c 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/builder/EqualsBuilder.java +++ b/bus-core/src/main/java/org/aoju/bus/core/builder/EqualsBuilder.java @@ -35,7 +35,7 @@ /** *- 使用==检查数组是否相同
- *- 检查是否为null, null小于非null
- *- 检查数组长度,长度较短的数组小于长度较长的数组
+ *- 检查是否为null, null小于非null
+ *- 检查数组长度,长度较短的数组小于长度较长的数组
*- 使用{@link #append(boolean, boolean)}逐个元素检查数组内容
*{@link Object#equals(Object)} 方法的构建器
* - *两个对象equals必须保证hashCode值相等,hashCode值相等不能保证一定equals
+ *两个对象equals必须保证hashCode值相等,hashCode值相等不能保证一定equals
* *使用方法如下:
*@@ -78,7 +78,7 @@ public class EqualsBuilder implements Builder{ private static final ThreadLocal >> REGISTRY = new ThreadLocal<>(); /** - * 是否equals,此值随着构建会变更,默认true + * 是否equals,此值随着构建会变更,默认true */ private boolean isEquals = true; private boolean testTransients = false; @@ -193,24 +193,24 @@ private static void unregister(final Object lhs, final Object rhs) { } /** - * 反射检查两个对象是否equals,此方法检查对象及其父对象的属性(包括私有属性)是否equals
+ *反射检查两个对象是否equals,此方法检查对象及其父对象的属性(包括私有属性)是否equals
* * @param lhs 此对象 * @param rhs 另一个对象 - * @param excludeFields 排除的字段集合,如果有不参与计算equals的字段加入此集合即可 - * @return 两个对象是否equals,是返回true
+ * @param excludeFields 排除的字段集合,如果有不参与计算equals的字段加入此集合即可 + * @return 两个对象是否equals, 是返回true
*/ public static boolean reflectionEquals(final Object lhs, final Object rhs, final CollectionexcludeFields) { return reflectionEquals(lhs, rhs, ReflectionToStringBuilder.toNoNullStringArray(excludeFields)); } /** - * 反射检查两个对象是否equals,此方法检查对象及其父对象的属性(包括私有属性)是否equals
+ *反射检查两个对象是否equals,此方法检查对象及其父对象的属性(包括私有属性)是否equals
* * @param lhs 此对象 * @param rhs 另一个对象 - * @param excludeFields 排除的字段集合,如果有不参与计算equals的字段加入此集合即可 - * @return 两个对象是否equals,是返回true
+ * @param excludeFields 排除的字段集合,如果有不参与计算equals的字段加入此集合即可 + * @return 两个对象是否equals, 是返回true
*/ public static boolean reflectionEquals(final Object lhs, final Object rhs, final String... excludeFields) { return reflectionEquals(lhs, rhs, false, null, excludeFields); diff --git a/bus-core/src/main/java/org/aoju/bus/core/clone/Cloneable.java b/bus-core/src/main/java/org/aoju/bus/core/clone/Cloneable.java index fcb9d0e875..f37e0fff94 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/clone/Cloneable.java +++ b/bus-core/src/main/java/org/aoju/bus/core/clone/Cloneable.java @@ -36,7 +36,7 @@ public interface Cloneableextends java.lang.Cloneable { /** - * 克隆当前对象,浅复制 + * 克隆当前对象,浅复制 * * @return 克隆后的对象 */ diff --git a/bus-core/src/main/java/org/aoju/bus/core/clone/Support.java b/bus-core/src/main/java/org/aoju/bus/core/clone/Support.java index 50b2b4497d..2b56994f6a 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/clone/Support.java +++ b/bus-core/src/main/java/org/aoju/bus/core/clone/Support.java @@ -27,7 +27,7 @@ /** * - * 克隆支持类,提供默认的克隆方法 + * 克隆支持类,提供默认的克隆方法 *
* * @param继承类的类型 diff --git a/bus-core/src/main/java/org/aoju/bus/core/codec/BCD.java b/bus-core/src/main/java/org/aoju/bus/core/codec/BCD.java index d29a964701..e29252996f 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/codec/BCD.java +++ b/bus-core/src/main/java/org/aoju/bus/core/codec/BCD.java @@ -2,7 +2,7 @@ /** * BCD码(Binary-Coded Decimal)亦称二进码十进数或二-十进制代码 - * BCD码这种编码形式利用了四个位元来储存一个十进制的数码, + * BCD码这种编码形式利用了四个位元来储存一个十进制的数码, * 使二进制和十进制之间的转换得以快捷的进行 * * @author Kimi Liu diff --git a/bus-core/src/main/java/org/aoju/bus/core/codec/Base32.java b/bus-core/src/main/java/org/aoju/bus/core/codec/Base32.java index b6dcc14919..7ff7ec5d75 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/codec/Base32.java +++ b/bus-core/src/main/java/org/aoju/bus/core/codec/Base32.java @@ -29,8 +29,8 @@ /** * Base32 - encodes and decodes RFC3548 Base32 (see http://www.faqs.org/rfcs/rfc3548.html ) - * base32就是用32(2的5次方)个特定ASCII码来表示256个ASCII码。 - * 所以,5个ASCII字符经过base32编码后会变为8个字符(公约数为40),长度增加3/5.不足8n用“=”补足。 + * base32就是用32(2的5次方)个特定ASCII码来表示256个ASCII码 + * 所以,5个ASCII字符经过base32编码后会变为8个字符(公约数为40),长度增加3/5.不足8n用“=”补足 * see http://blog.csdn.net/earbao/article/details/44453937 * * @author Kimi Liu diff --git a/bus-core/src/main/java/org/aoju/bus/core/codec/Base64.java b/bus-core/src/main/java/org/aoju/bus/core/codec/Base64.java index f26cd57fd7..a7fea89e36 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/codec/Base64.java +++ b/bus-core/src/main/java/org/aoju/bus/core/codec/Base64.java @@ -34,9 +34,9 @@ import java.nio.charset.StandardCharsets; /** - * Base64工具类,提供Base64的编码和解码方案 - * base64编码是用64(2的6次方)个ASCII字符来表示256(2的8次方)个ASCII字符, - * 也就是三位二进制数组经过编码后变为四位的ASCII字符显示,长度比原来增加1/3。 + * Base64工具类,提供Base64的编码和解码方案 + * base64编码是用64(2的6次方)个ASCII字符来表示256(2的8次方)个ASCII字符, + * 也就是三位二进制数组经过编码后变为四位的ASCII字符显示,长度比原来增加1/3 * * @author Kimi Liu * @version 5.2.2 @@ -54,7 +54,7 @@ public class Base64 { 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '+', '/'}; /** - * URL安全的编码表,将 + 和 / 替换为 - 和 _ + * URL安全的编码表,将 + 和 / 替换为 - 和 _ */ public static final byte[] URL_SAFE_ENCODE_TABLE = { 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', @@ -64,7 +64,7 @@ public class Base64 { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '-', '_'}; /** - * Base64解码表,共128位,-1表示非base64字符,-2表示padding + * Base64解码表,共128位,-1表示非base64字符,-2表示padding */ public static final byte[] DECODE_TABLE = { // 0 1 2 3 4 5 6 7 8 9 A B C D E F @@ -79,7 +79,7 @@ public class Base64 { }; /** - * Base64解码表,共128位,-1表示非base64字符,-2表示padding + * Base64解码表,共128位,-1表示非base64字符,-2表示padding */ public static final byte PADDING = -2; @@ -162,7 +162,7 @@ public static void decode(char[] ch, int off, int len, OutputStream out) } /** - * 编码为Base64,非URL安全的 + * 编码为Base64,非URL安全的 * * @param in 被编码的数组 * @param lineSep 在76个char之后是CRLF还是EOF @@ -173,7 +173,7 @@ public static byte[] encode(byte[] in, boolean lineSep) { } /** - * 编码为Base64,URL安全的 + * 编码为Base64,URL安全的 * * @param in 被编码的数组 * @param lineSep 在76个char之后是CRLF还是EOF @@ -195,7 +195,7 @@ public static String encode(String source) { } /** - * base64编码,URL安全 + * base64编码,URL安全 * * @param source 被编码的base64字符串 * @return 被加密后的字符串 @@ -240,7 +240,7 @@ public static String encode(String source, Charset charset) { } /** - * base64编码,URL安全的 + * base64编码,URL安全的 * * @param source 被编码的base64字符串 * @param charset 字符集 @@ -324,7 +324,7 @@ public static String encode(byte[] source, String charset) { } /** - * base64编码,URL安全的 + * base64编码,URL安全的 * * @param source 被编码的base64字符串 * @param charset 字符集 @@ -347,7 +347,7 @@ public static String encode(byte[] source, Charset charset) { } /** - * base64编码,URL安全的 + * base64编码,URL安全的 * * @param source 被编码的base64字符串 * @param charset 字符集 @@ -360,11 +360,11 @@ public static String encodeUrlSafe(byte[] source, Charset charset) { /** * 编码为Base64 - * 如果isMultiLine为 true,则每76个字符一个换行符,否则在一行显示 + * 如果isMultiLine为 true,则每76个字符一个换行符,否则在一行显示 * * @param arr 被编码的数组 * @param isMultiLine 在76个char之后是CRLF还是EOF - * @param isUrlSafe 是否使用URL安全字符,一般为false + * @param isUrlSafe 是否使用URL安全字符,一般为false * @return 编码后的bytes */ public static byte[] encode(byte[] arr, boolean isMultiLine, boolean isUrlSafe) { diff --git a/bus-core/src/main/java/org/aoju/bus/core/codec/Base64Decoder.java b/bus-core/src/main/java/org/aoju/bus/core/codec/Base64Decoder.java index 1f9fa9df4b..bdf16540c5 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/codec/Base64Decoder.java +++ b/bus-core/src/main/java/org/aoju/bus/core/codec/Base64Decoder.java @@ -156,7 +156,7 @@ public static byte[] decode(byte[] in, int pos, int length) { if (octetId == octet.length) { return octet; } else { - // 如果有非Base64字符混入,则实际结果比解析的要短,截取之 + // 如果有非Base64字符混入,则实际结果比解析的要短,截取之 return (byte[]) ArrayUtils.copy(octet, new byte[octetId], octetId); } } @@ -165,9 +165,9 @@ public static byte[] decode(byte[] in, int pos, int length) { * 获取下一个有效的byte字符 * * @param in 输入 - * @param pos 当前位置,调用此方法后此位置保持在有效字符的下一个位置 + * @param pos 当前位置,调用此方法后此位置保持在有效字符的下一个位置 * @param maxPos 最大位置 - * @return 有效字符,如果达到末尾返回 + * @return 有效字符, 如果达到末尾返回 */ private static byte getNextValidDecodeByte(byte[] in, IntWrapper pos, int maxPos) { byte base64Byte; @@ -185,7 +185,7 @@ private static byte getNextValidDecodeByte(byte[] in, IntWrapper pos, int maxPos } /** - * int包装,使之可变 + * int包装,使之可变 */ private static class IntWrapper { int value; diff --git a/bus-core/src/main/java/org/aoju/bus/core/codec/Base64Encoder.java b/bus-core/src/main/java/org/aoju/bus/core/codec/Base64Encoder.java index eb76fec2fb..6800acb9c6 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/codec/Base64Encoder.java +++ b/bus-core/src/main/java/org/aoju/bus/core/codec/Base64Encoder.java @@ -37,7 +37,7 @@ public class Base64Encoder { /** - * 编码为Base64,非URL安全的 + * 编码为Base64,非URL安全的 * * @param arr 被编码的数组 * @param lineSep 在76个char之后是CRLF还是EOF @@ -48,7 +48,7 @@ public static byte[] encode(byte[] arr, boolean lineSep) { } /** - * 编码为Base64,URL安全的 + * 编码为Base64,URL安全的 * * @param arr 被编码的数组 * @param lineSep 在76个char之后是CRLF还是EOF @@ -70,7 +70,7 @@ public static String encode(String source) { } /** - * base64编码,URL安全 + * base64编码,URL安全 * * @param source 被编码的base64字符串 * @return 被加密后的字符串 @@ -115,7 +115,7 @@ public static String encode(String source, Charset charset) { } /** - * base64编码,URL安全的 + * base64编码,URL安全的 * * @param source 被编码的base64字符串 * @param charset 字符集 @@ -159,7 +159,7 @@ public static String encode(byte[] source, String charset) { } /** - * base64编码,URL安全的 + * base64编码,URL安全的 * * @param source 被编码的base64字符串 * @param charset 字符集 @@ -182,7 +182,7 @@ public static String encode(byte[] source, Charset charset) { } /** - * base64编码,URL安全的 + * base64编码,URL安全的 * * @param source 被编码的base64字符串 * @param charset 字符集 @@ -194,11 +194,11 @@ public static String encodeUrlSafe(byte[] source, Charset charset) { } /** - * 只接受一个字节缓冲区并返回一个包含已编码缓冲区的字符串。 + * 只接受一个字节缓冲区并返回一个包含已编码缓冲区的字符串 * * @param buffer 被编码的数组 * @param charset 字符集 - * @param isUrlSafe 是否使用URL安全字符,一般为 false
+ * @param isUrlSafe 是否使用URL安全字符,一般为false
* @return 编码后的字符串 */ public static String encodeBuffer(byte[] buffer, boolean isUrlSafe, Charset charset) { @@ -206,10 +206,10 @@ public static String encodeBuffer(byte[] buffer, boolean isUrlSafe, Charset char } /** - * 只接受一个字节缓冲区并返回一个包含已编码缓冲区的字符串。 + * 只接受一个字节缓冲区并返回一个包含已编码缓冲区的字符串 * * @param buffer 被编码的数组 - * @param isUrlSafe 是否使用URL安全字符,一般为false
+ * @param isUrlSafe 是否使用URL安全字符,一般为false
* @return 编码后的字符串 */ public static String encodeBuffer(byte[] buffer, boolean isUrlSafe) { @@ -217,7 +217,7 @@ public static String encodeBuffer(byte[] buffer, boolean isUrlSafe) { } /** - * 只接受一个字节缓冲区并返回一个包含已编码缓冲区的字符串。 + * 只接受一个字节缓冲区并返回一个包含已编码缓冲区的字符串 * * @param buffer 被编码的数组 * @param charset 字符集 @@ -228,7 +228,7 @@ public static String encodeBuffer(byte[] buffer, Charset charset) { } /** - * 只接受一个字节缓冲区并返回一个包含已编码缓冲区的字符串。 + * 只接受一个字节缓冲区并返回一个包含已编码缓冲区的字符串 * * @param buffer 被编码的数组 * @return 编码后的字符串 @@ -239,11 +239,11 @@ public static String encodeBuffer(byte[] buffer) { /** * 编码为Base64 - * 如果isMultiLine为true
,则每76个字符一个换行符,否则在一行显示 + * 如果isMultiLine为true
,则每76个字符一个换行符,否则在一行显示 * * @param arr 被编码的数组 * @param isMultiLine 在76个char之后是CRLF还是EOF - * @param isUrlSafe 是否使用URL安全字符,一般为false
+ * @param isUrlSafe 是否使用URL安全字符,一般为false
* @return 编码后的bytes */ public static byte[] encode(byte[] arr, boolean isMultiLine, boolean isUrlSafe) { @@ -286,7 +286,7 @@ public static byte[] encode(byte[] arr, boolean isMultiLine, boolean isUrlSafe) dest[destlen - 3] = encodeTable[(i >>> 6) & 0x3f]; if (isUrlSafe) { - // 在URL Safe模式下,=为URL中的关键字符,不需要补充。空余的byte位要去掉。 + // 在URL Safe模式下,=为URL中的关键字符,不需要补充 空余的byte位要去掉 int urlSafeLen = destlen - 2; if (2 == left) { dest[destlen - 2] = encodeTable[i & 0x3f]; diff --git a/bus-core/src/main/java/org/aoju/bus/core/codec/Caesar.java b/bus-core/src/main/java/org/aoju/bus/core/codec/Caesar.java index 82a0e86116..cd27d81194 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/codec/Caesar.java +++ b/bus-core/src/main/java/org/aoju/bus/core/codec/Caesar.java @@ -35,7 +35,7 @@ public class Caesar { /** - * 传入明文,加密得到密文 + * 传入明文,加密得到密文 * * @param message 加密的消息 * @param offset 偏移量 diff --git a/bus-core/src/main/java/org/aoju/bus/core/collection/ArrayIterator.java b/bus-core/src/main/java/org/aoju/bus/core/collection/ArrayIterator.java index 3f68c89858..1a47b6630a 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/collection/ArrayIterator.java +++ b/bus-core/src/main/java/org/aoju/bus/core/collection/ArrayIterator.java @@ -27,11 +27,11 @@ import java.util.NoSuchElementException; /** - * 实现一个{@link java.util.Iterator} 任何数组的迭代器。 - * 数组可以是对象数组,也可以是基元数组。如果你知道 - * class是更好的选择,因为它会表现得更好。 - * 迭代器实现了一个{@link #reset}方法,允许重置 - * 如果需要,迭代器返回到开始。 + * 实现一个{@link java.util.Iterator} 任何数组的迭代器 + * 数组可以是对象数组,也可以是基元数组 如果你知道 + * class是更好的选择,因为它会表现得更好 + * 迭代器实现了一个{@link #reset}方法,允许重置 + * 如果需要,迭代器返回到开始 * * @param元素类型 * @author Kimi Liu diff --git a/bus-core/src/main/java/org/aoju/bus/core/collection/CopiedIter.java b/bus-core/src/main/java/org/aoju/bus/core/collection/CopiedIter.java index bdc8fb6a94..9fc0c4be68 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/collection/CopiedIter.java +++ b/bus-core/src/main/java/org/aoju/bus/core/collection/CopiedIter.java @@ -9,14 +9,14 @@ /** * 复制 {@link Iterator}
* 为了解决并发情况下{@link Iterator}遍历导致的问题(当Iterator被修改会抛出ConcurrentModificationException) - * ,故使用复制原Iterator的方式解决此问题。 + * ,故使用复制原Iterator的方式解决此问题 * *- * 解决方法为:在构造方法中遍历Iterator中的元素,装入新的List中然后遍历之。 - * 当然,修改这个复制后的Iterator是没有意义的,因此remove方法将会抛出异常。 + * 解决方法为:在构造方法中遍历Iterator中的元素,装入新的List中然后遍历之 + * 当然,修改这个复制后的Iterator是没有意义的,因此remove方法将会抛出异常 * *
- * 需要注意的是,在构造此对象时需要保证原子性(原对象不被修改),最好加锁构造此对象,构造完毕后解锁。 + * 需要注意的是,在构造此对象时需要保证原子性(原对象不被修改),最好加锁构造此对象,构造完毕后解锁 * * @param
元素类型 * @author Kimi Liu diff --git a/bus-core/src/main/java/org/aoju/bus/core/collection/LineIter.java b/bus-core/src/main/java/org/aoju/bus/core/collection/LineIter.java index 3ccc380592..6eb17268df 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/collection/LineIter.java +++ b/bus-core/src/main/java/org/aoju/bus/core/collection/LineIter.java @@ -11,7 +11,7 @@ /** * 将Reader包装为一个按照行读取的Iterator - * 此对象遍历结束后,应关闭之,推荐使用方式: + * 此对象遍历结束后,应关闭之,推荐使用方式: * * @author Kimi Liu * @version 5.2.2 @@ -48,7 +48,7 @@ public LineIter(InputStream in, Charset charset) throws IllegalArgumentException /** * 构造 * - * @param reader {@link Reader}对象,不能为null + * @param reader {@link Reader}对象,不能为null * @throws IllegalArgumentException reader为null抛出此异常 */ public LineIter(Reader reader) throws IllegalArgumentException { @@ -58,7 +58,7 @@ public LineIter(Reader reader) throws IllegalArgumentException { /** - * 判断{@link Reader}是否可以存在下一行。 If there is an IOException
then {@link #close()} will be called on this instance. + * 判断{@link Reader}是否可以存在下一行 If there is anIOException
then {@link #close()} will be called on this instance. * * @return {@code true} 表示有更多行 * @throws InstrumentException 内部异常 @@ -135,7 +135,7 @@ public void remove() { } /** - * 重写此方法来判断是否每一行都被返回,默认全部为true + * 重写此方法来判断是否每一行都被返回,默认全部为true * * @param line 需要验证的行 * @return 是否通过验证 diff --git a/bus-core/src/main/java/org/aoju/bus/core/collection/PriorityQueue.java b/bus-core/src/main/java/org/aoju/bus/core/collection/PriorityQueue.java index e161807873..09e4f3e135 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/collection/PriorityQueue.java +++ b/bus-core/src/main/java/org/aoju/bus/core/collection/PriorityQueue.java @@ -5,7 +5,7 @@ /** * 有界优先队列
- * 按照给定的排序规则,排序元素,当队列满时, + * 按照给定的排序规则,排序元素,当队列满时, * 按照给定的排序规则淘汰末尾元素 * * @author Kimi Liu @@ -52,7 +52,7 @@ public int compare(E o1, E o2) { } /** - * 加入元素,当队列满时,淘汰末尾元素 + * 加入元素,当队列满时,淘汰末尾元素 * * @param e 元素 * @return 加入成功与否 @@ -64,7 +64,7 @@ public boolean offer(E e) { if (this.comparator().compare(e, head) <= 0) { return true; } - //当队列满时,就要淘汰顶端队列 + //当队列满时,就要淘汰顶端队列 poll(); } return super.offer(e); diff --git a/bus-core/src/main/java/org/aoju/bus/core/collection/ResettableIterator.java b/bus-core/src/main/java/org/aoju/bus/core/collection/ResettableIterator.java index b003d196dc..893e3e781e 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/collection/ResettableIterator.java +++ b/bus-core/src/main/java/org/aoju/bus/core/collection/ResettableIterator.java @@ -26,7 +26,7 @@ import java.util.Iterator; /** - * 定义一个迭代器,该迭代器可以重置为初始状态. + * 定义一个迭代器,该迭代器可以重置为初始状态. * * @param元素类型 * @author Kimi Liu diff --git a/bus-core/src/main/java/org/aoju/bus/core/compare/Comparables.java b/bus-core/src/main/java/org/aoju/bus/core/compare/Comparables.java index 29a188fbf6..9df59e436f 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/compare/Comparables.java +++ b/bus-core/src/main/java/org/aoju/bus/core/compare/Comparables.java @@ -35,7 +35,7 @@ public Comparables() { * * @param obj1 被比较的第一个对象 * @param obj2 the second object to compare - * @return obj1小返回负数,大返回正数,否则返回0 + * @return obj1小返回负数, 大返回正数, 否则返回0 */ @Override public int compare(final E obj1, final E obj2) { diff --git a/bus-core/src/main/java/org/aoju/bus/core/compare/CompareChain.java b/bus-core/src/main/java/org/aoju/bus/core/compare/CompareChain.java index df310439b6..822718f82a 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/compare/CompareChain.java +++ b/bus-core/src/main/java/org/aoju/bus/core/compare/CompareChain.java @@ -6,8 +6,8 @@ import java.util.*; /** - * 比较器链。此链包装了多个比较器,最终比较结果按照比较器顺序综合多个比较器结果。
- * 按照比较器链的顺序分别比较,如果比较出相等则转向下一个比较器,否则直接返回
+ * 比较器链 此链包装了多个比较器,最终比较结果按照比较器顺序综合多个比较器结果
+ * 按照比较器链的顺序分别比较,如果比较出相等则转向下一个比较器,否则直接返回
* 此类copy from Apache-commons-collections * * @author Kimi Liu @@ -27,19 +27,19 @@ public class CompareChainimplements Chain , CompareChain >, C */ private BitSet orderingBits; /** - * 比较器是否被锁定。锁定的比较器链不能再添加新的比较器。比较器会在开始比较时开始加锁。 + * 比较器是否被锁定 锁定的比较器链不能再添加新的比较器 比较器会在开始比较时开始加锁 */ private boolean lock = false; /** - * 构造空的比较器链,必须至少有一个比较器,否则会在compare时抛出{@link UnsupportedOperationException} + * 构造空的比较器链,必须至少有一个比较器,否则会在compare时抛出{@link UnsupportedOperationException} */ public CompareChain() { this(new ArrayList >(), new BitSet()); } /** - * 构造,初始化单一比较器。比较器为正序 + * 构造,初始化单一比较器 比较器为正序 * * @param comparator 在比较器链中的第一个比较器 */ @@ -48,10 +48,10 @@ public CompareChain(final Comparator comparator) { } /** - * 构造,初始化单一比较器。自定义正序还是反序 + * 构造,初始化单一比较器 自定义正序还是反序 * * @param comparator 在比较器链中的第一个比较器 - * @param reverse 是否反序,true表示反序,false正序 + * @param reverse 是否反序,true表示反序,false正序 */ public CompareChain(final Comparator comparator, final boolean reverse) { chain = new ArrayList >(1); @@ -63,7 +63,7 @@ public CompareChain(final Comparator comparator, final boolean reverse) { } /** - * 构造,使用已有的比较器列表 + * 构造,使用已有的比较器列表 * * @param list 比较器列表 * @see #CompareChain(List, BitSet) @@ -73,11 +73,11 @@ public CompareChain(final List > list) { } /** - * 构造,使用已有的比较器列表和对应的BitSet
- * BitSet中的boolean值需与list中的{@link Comparator}一一对应,true表示正序,false反序 + * 构造,使用已有的比较器列表和对应的BitSet
+ * BitSet中的boolean值需与list中的{@link Comparator}一一对应,true表示正序,false反序 * * @param list {@link Comparator} 列表 - * @param bits {@link Comparator} 列表对应的排序boolean值,true表示正序,false反序 + * @param bits {@link Comparator} 列表对应的排序boolean值,true表示正序,false反序 */ public CompareChain(final List> list, final BitSet bits) { chain = list; @@ -85,9 +85,9 @@ public CompareChain(final List > list, final BitSet bits) { } /** - * 在链的尾部添加比较器,使用正向排序 + * 在链的尾部添加比较器,使用正向排序 * - * @param comparator {@link Comparator} 比较器,正向 + * @param comparator {@link Comparator} 比较器,正向 * @return this */ public CompareChain addComparator(final Comparator comparator) { @@ -95,10 +95,10 @@ public CompareChain addComparator(final Comparator comparator) { } /** - * 在链的尾部添加比较器,使用给定排序方式 + * 在链的尾部添加比较器,使用给定排序方式 * * @param comparator {@link Comparator} 比较器 - * @param reverse 是否反序,true表示正序,false反序 + * @param reverse 是否反序,true表示正序,false反序 * @return this */ public CompareChain addComparator(final Comparator comparator, final boolean reverse) { @@ -112,7 +112,7 @@ public CompareChain addComparator(final Comparator comparator, final boole } /** - * 替换指定位置的比较器,保持原排序方式 + * 替换指定位置的比较器,保持原排序方式 * * @param index 位置 * @param comparator {@link Comparator} @@ -124,11 +124,11 @@ public CompareChain setComparator(final int index, final Comparator compar } /** - * 替换指定位置的比较器,替换指定排序方式 + * 替换指定位置的比较器,替换指定排序方式 * * @param index 位置 * @param comparator {@link Comparator} - * @param reverse 是否反序,true表示正序,false反序 + * @param reverse 是否反序,true表示正序,false反序 * @return this */ public CompareChain setComparator(final int index, final Comparator comparator, final boolean reverse) { @@ -177,7 +177,7 @@ public int size() { } /** - * 是否已经被锁定。当开始比较时(调用compare方法)此值为true + * 是否已经被锁定 当开始比较时(调用compare方法)此值为true * * @return true = ComparatorChain cannot be modified; false = ComparatorChain can still be modified. */ @@ -197,12 +197,12 @@ public CompareChain addChain(Comparator element) { /** * 执行比较
- * 按照比较器链的顺序分别比较,如果比较出相等则转向下一个比较器,否则直接返回 + * 按照比较器链的顺序分别比较,如果比较出相等则转向下一个比较器,否则直接返回 * * @param o1 第一个对象 * @param o2 第二个对象 * @return -1, 0, or 1 - * @throws UnsupportedOperationException 如果比较器链为空,无法完成比较 + * @throws UnsupportedOperationException 如果比较器链为空,无法完成比较 */ @Override public int compare(final E o1, final E o2) throws UnsupportedOperationException { @@ -269,7 +269,7 @@ private void checkLocked() { } /** - * 检查比较器链是否为空,为空抛出异常 + * 检查比较器链是否为空,为空抛出异常 * * @throws UnsupportedOperationException 为空抛出此异常 */ diff --git a/bus-core/src/main/java/org/aoju/bus/core/compare/IndexedCompare.java b/bus-core/src/main/java/org/aoju/bus/core/compare/IndexedCompare.java index 1b91646bb1..be86c84d06 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/compare/IndexedCompare.java +++ b/bus-core/src/main/java/org/aoju/bus/core/compare/IndexedCompare.java @@ -6,8 +6,8 @@ import java.util.Comparator; /** - * 按照数组的顺序正序排列,数组的元素位置决定了对象的排序先后
- * 如果参与排序的元素并不在数组中,则排序在前 + * 按照数组的顺序正序排列,数组的元素位置决定了对象的排序先后
+ * 如果参与排序的元素并不在数组中,则排序在前 * * @param被排序元素类型 * @author Kimi Liu @@ -21,7 +21,7 @@ public class IndexedCompare implements Comparator { /** * 构造 * - * @param objs 参与排序的数组,数组的元素位置决定了对象的排序先后 + * @param objs 参与排序的数组,数组的元素位置决定了对象的排序先后 */ public IndexedCompare(T... objs) { this.array = objs; diff --git a/bus-core/src/main/java/org/aoju/bus/core/compare/VersionCompare.java b/bus-core/src/main/java/org/aoju/bus/core/compare/VersionCompare.java index 7ea405775a..f22238a58c 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/compare/VersionCompare.java +++ b/bus-core/src/main/java/org/aoju/bus/core/compare/VersionCompare.java @@ -10,8 +10,8 @@ /** * 版本比较器 * 比较两个版本的大小 - * 排序时版本从小到大排序,既比较时小版本在前,大版本在后 - * 支持如:1.3.20.8,6.82.20160101,8.5a/8.5c等版本形式 + * 排序时版本从小到大排序,既比较时小版本在前,大版本在后 + * 支持如:1.3.20.8,6.82.20160101,8.5a/8.5c等版本形式 * * @author Kimi Liu * @version 5.2.2 @@ -55,7 +55,7 @@ public int compare(String version1, String version2) { } if (version1 == null && version2 == null) { return 0; - } else if (version1 == null) {// null视为最小版本,排在前 + } else if (version1 == null) {// null视为最小版本,排在前 return -1; } else if (version2 == null) { return 1; @@ -77,7 +77,7 @@ public int compare(String version1, String version2) { diff = v1.compareTo(v2); } if (diff != 0) { - //已有结果,结束 + //已有结果,结束 break; } } diff --git a/bus-core/src/main/java/org/aoju/bus/core/consts/Algorithm.java b/bus-core/src/main/java/org/aoju/bus/core/consts/Algorithm.java index e030ad540f..9db9f9bee5 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/consts/Algorithm.java +++ b/bus-core/src/main/java/org/aoju/bus/core/consts/Algorithm.java @@ -38,52 +38,77 @@ public class Algorithm { public static final String TYPE_PRIVATE_KEY = "PrivateKey"; public static final String TYPE_PUBLIC_KEY = "PublicKey"; + /***************非对称算法类型*************/ + /** - * 非对称算法类型 + * RSA算法 */ - // RSA算法 public static final String RSA = "RSA"; - // RSA算法,此算法用了默认补位方式为RSA/ECB/PKCS1Padding + /** + * RSA算法,此算法用了默认补位方式为RSA/ECB/PKCS1Padding + */ public static final String RSA_ECB_PKCS1 = "RSA/ECB/PKCS1Padding"; - //RSA算法,此算法用了RSA/None/NoPadding + /** + * RSA算法,此算法用了RSA/None/NoPadding + */ public static final String RSA_None = "RSA/None/NoPadding"; - // EC(Elliptic Curve)算法 + /** + * 签名算法类型 + * EC(Elliptic Curve)算法 + */ public static final String EC = "EC"; + + /***************对称算法类型*************/ + /** - * 对称算法类型 + * 默认的AES加密方式:AES/CBC/PKCS5Padding */ - // 默认的AES加密方式:AES/CBC/PKCS5Padding public static final String AES = "AES"; public static final String ARCFOUR = "ARCFOUR"; public static final String Blowfish = "Blowfish"; - // 默认的DES加密方式:DES/ECB/PKCS5Padding + /** + * 默认的DES加密方式:DES/ECB/PKCS5Padding + */ public static final String DES = "DES"; - //3DES算法,默认实现为:DESede/CBC/PKCS5Padding + /** + * 3DES算法,默认实现为:DESede/CBC/PKCS5Padding + */ public static final String DESede = "DESede"; public static final String RC4 = "RC4"; public static final String PBEWithMD5AndDES = "PBEWithMD5AndDES"; public static final String PBEWithSHA1AndDESede = "PBEWithSHA1AndDESede"; public static final String PBEWithSHA1AndRC2_40 = "PBEWithSHA1AndRC2_40"; + /***************签名算法类型*************/ + /** - * 签名算法类型 + * The RSA signature algorithm */ - // The RSA signature algorithm public static final String NONEwithRSA = "NONEwithRSA"; - // The MD2/MD5 with RSA Encryption signature algorithm + /** + * The MD2/MD5 with RSA Encryption signature algorithm + */ public static final String MD2withRSA = "MD2withRSA"; public static final String MD5withRSA = "MD5withRSA"; - // The signature algorithm with SHA-* and the RSA + /** + * The signature algorithm with SHA-* and the RSA + */ public static final String SHA1withRSA = "SHA1withRSA"; public static final String SHA256withRSA = "SHA256withRSA"; public static final String SHA384withRSA = "SHA384withRSA"; public static final String SHA512withRSA = "SHA512withRSA"; - // The Digital Signature Algorithm + /** + * The Digital Signature Algorithm + */ public static final String NONEwithDSA = "NONEwithDSA"; - // The DSA with SHA-1 signature algorithm + /** + * The DSA with SHA-1 signature algorithm + */ public static final String SHA1withDSA = "SHA1withDSA"; - // The ECDSA signature algorithms + /** + * The ECDSA signature algorithms + */ public static final String NONEwithECDSA = "NONEwithECDSA"; public static final String SHA1withECDSA = "SHA1withECDSA"; public static final String SHA256withECDSA = "SHA256withECDSA"; @@ -99,7 +124,7 @@ public class Algorithm { public static final String HmacSHA384 = "HmacSHA384"; public static final String HmacSHA512 = "HmacSHA512"; /** - * HmacSM3算法实现,需要BouncyCastle库支持 + * HmacSM3算法实现,需要BouncyCastle库支持 */ public static final String HmacSM3 = "HmacSM3"; @@ -112,7 +137,6 @@ public class Algorithm { public static final String SHA256 = "SHA-256"; public static final String SHA384 = "SHA-384"; public static final String SHA512 = "SHA-512"; - public static final String SHAPRNG = "SHA1PRNG"; /** diff --git a/bus-core/src/main/java/org/aoju/bus/core/consts/Fields.java b/bus-core/src/main/java/org/aoju/bus/core/consts/Fields.java index 59f9811bd8..2d5823cc4d 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/consts/Fields.java +++ b/bus-core/src/main/java/org/aoju/bus/core/consts/Fields.java @@ -322,7 +322,7 @@ public enum DateField { */ DAY_OF_YEAR(Calendar.DAY_OF_YEAR), /** - * 周几,1表示周日,2表示周一 + * 周几,1表示周日,2表示周一 * * @see Calendar#DAY_OF_WEEK */ @@ -340,13 +340,13 @@ public enum DateField { */ AM_PM(Calendar.AM_PM), /** - * 小时,用于12小时制 + * 小时,用于12小时制 * * @see Calendar#HOUR */ HOUR(Calendar.HOUR), /** - * 小时,用于24小时制 + * 小时,用于24小时制 * * @see Calendar#HOUR */ @@ -418,7 +418,7 @@ public int getValue() { } /** - * 日期时间单位,每个单位都是以毫秒为基数 + * 日期时间单位,每个单位都是以毫秒为基数 * * @author Kimi Liu * @version 5.2.2 @@ -537,7 +537,7 @@ public enum Month { */ DECEMBER(Calendar.DECEMBER), /** - * 十三月,仅用于农历 + * 十三月,仅用于农历 */ UNDECIMBER(Calendar.UNDECIMBER); @@ -782,7 +782,7 @@ public String toChinese() { /** * 转换为中文名 * - * @param weekNamePre 表示星期的前缀,例如前缀为“星期”,则返回结果为“星期一”;前缀为”周“,结果为“周一” + * @param weekNamePre 表示星期的前缀,例如前缀为“星期”,则返回结果为“星期一”;前缀为”周“,结果为“周一” * @return 星期的中文名 */ public String toChinese(String weekNamePre) { diff --git a/bus-core/src/main/java/org/aoju/bus/core/consts/FileType.java b/bus-core/src/main/java/org/aoju/bus/core/consts/FileType.java index e3166d4ad4..046a7006ab 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/consts/FileType.java +++ b/bus-core/src/main/java/org/aoju/bus/core/consts/FileType.java @@ -56,13 +56,30 @@ public class FileType { * 在Jar中的路径jar的扩展名形式 */ public static final String JAR_PATH_EXT = ".jar!"; - - public static final String IMAGE_TYPE_GIF = "gif";// 图形交换格式 - public static final String IMAGE_TYPE_JPG = "jpg";// 联合照片专家组 - public static final String IMAGE_TYPE_JPEG = "jpeg";// 联合照片专家组 - public static final String IMAGE_TYPE_BMP = "bmp";// 英文Bitmap(位图)的简写,它是Windows操作系统中的标准图像文件格式 - public static final String IMAGE_TYPE_PNG = "png";// 可移植网络图形 - public static final String IMAGE_TYPE_PSD = "psd";// Photoshop的专用格式Photoshop + /** + * 图形交换格式 + */ + public static final String IMAGE_TYPE_GIF = "gif"; + /** + * 联合照片专家组 + **/ + public static final String IMAGE_TYPE_JPG = "jpg"; + /** + * 联合照片专家组 + **/ + public static final String IMAGE_TYPE_JPEG = "jpeg"; + /** + * 英文Bitmap(位图)的简写,它是Windows操作系统中的标准图像文件格式 + **/ + public static final String IMAGE_TYPE_BMP = "bmp"; + /** + * 可移植网络图形 + **/ + public static final String IMAGE_TYPE_PNG = "png"; + /** + * Photoshop的专用格式Photoshop + **/ + public static final String IMAGE_TYPE_PSD = "psd"; /** * 图片 */ @@ -782,7 +799,7 @@ public static String removeFileType(String fileStreamHexHead) { * 根据文件流的头部信息获得文件类型 * * @param fileStreamHexHead 文件流头部16进制字符串 - * @return 文件类型,未找到为 null
+ * @return 文件类型, 未找到为null
*/ public static String getType(String fileStreamHexHead) { for (Map.EntryfileTypeEntry : fileTypeMap.entrySet()) { @@ -797,7 +814,7 @@ public static String getType(String fileStreamHexHead) { * 根据文件流的头部信息获得文件类型 * * @param in {@link InputStream} - * @return 类型,文件的扩展名,未找到为 null
+ * @return 类型, 文件的扩展名, 未找到为null
* @throws InstrumentException 读取流引起的异常 */ public static String getType(InputStream in) throws InstrumentException { @@ -808,7 +825,7 @@ public static String getType(InputStream in) throws InstrumentException { * 根据文件流的头部信息获得文件类型 * * @param file 文件 {@link File} - * @return 类型,文件的扩展名,未找到为null
+ * @return 类型, 文件的扩展名, 未找到为null
* @throws InstrumentException 读取文件引起的异常 */ public static String getType(File file) throws InstrumentException { @@ -824,7 +841,7 @@ public static String getType(File file) throws InstrumentException { /** * 通过路径获得文件类型 * - * @param path 路径,绝对路径或相对ClassPath的路径 + * @param path 路径,绝对路径或相对ClassPath的路径 * @return 类型 * @throws InstrumentException 读取文件引起的异常 */ diff --git a/bus-core/src/main/java/org/aoju/bus/core/consts/MediaType.java b/bus-core/src/main/java/org/aoju/bus/core/consts/MediaType.java index 78276790a6..de73446332 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/consts/MediaType.java +++ b/bus-core/src/main/java/org/aoju/bus/core/consts/MediaType.java @@ -455,7 +455,7 @@ public String subtype() { } /** - * 返回此媒体类型的字符集,如果该媒体类型没有指定字符集,则返回null. + * 返回此媒体类型的字符集,如果该媒体类型没有指定字符集,则返回null. * * @return the string */ @@ -464,8 +464,8 @@ public Charset charset() { } /** - * 返回此媒体类型的字符集,或者{@code defaultValue}, - * 如果此媒体类型没有指定字符集,则当前运行时不支持该字符集 + * 返回此媒体类型的字符集,或者{@code defaultValue}, + * 如果此媒体类型没有指定字符集,则当前运行时不支持该字符集 * * @param defaultValue 字符集 * @return the charset @@ -479,12 +479,12 @@ public Charset charset(Charset defaultValue) { } /** - * 检查此媒体类型是否与其他媒体类型兼容。 - * 例如:image/*与image/jpeg、image/png等兼容。 - * 忽略媒体类型参数。这个函数是可交换的 + * 检查此媒体类型是否与其他媒体类型兼容 + * 例如:image/*与image/jpeg、image/png等兼容 + * 忽略媒体类型参数 这个函数是可交换的 * * @param mediaType 要比较的媒体类型. - * @return 如果类型兼容,则为true,否则为false. + * @return 如果类型兼容, 则为true, 否则为false. */ public boolean isCompatible(MediaType mediaType) { return mediaType != null diff --git a/bus-core/src/main/java/org/aoju/bus/core/consts/Normal.java b/bus-core/src/main/java/org/aoju/bus/core/consts/Normal.java index 74ad0f554f..71e21b252b 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/consts/Normal.java +++ b/bus-core/src/main/java/org/aoju/bus/core/consts/Normal.java @@ -222,8 +222,8 @@ public class Normal { @AllArgsConstructor public enum Gender { /** - * MALE/FAMALE为正常值,通过{@link Gender#getGender(String)}方法获取真实的性别 - * UNKNOWN为容错值,部分平台不会返回用户性别,为了方便统一,使用UNKNOWN标记所有未知或不可测的用户性别信息 + * MALE/FAMALE为正常值,通过{@link Gender#getGender(String)}方法获取真实的性别 + * UNKNOWN为容错值,部分平台不会返回用户性别,为了方便统一,使用UNKNOWN标记所有未知或不可测的用户性别信息 */ MALE(1, "男"), FEMALE(0, "女"), diff --git a/bus-core/src/main/java/org/aoju/bus/core/consts/RegEx.java b/bus-core/src/main/java/org/aoju/bus/core/consts/RegEx.java index cffc16bcd9..acb8ef3218 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/consts/RegEx.java +++ b/bus-core/src/main/java/org/aoju/bus/core/consts/RegEx.java @@ -82,7 +82,7 @@ public class RegEx { public final static java.util.regex.Pattern MONEY = java.util.regex.Pattern.compile(MONEY_PATTERN); /** - * 邮件,符合RFC 5322规范 + * 邮件,符合RFC 5322规范 */ public final static String EMAIL_PATTERN = "(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|\"(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21\\x23-\\x5b\\x5d-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])*\")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21-\\x5a\\x53-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])+)\\])"; public final static java.util.regex.Pattern EMAIL = java.util.regex.Pattern.compile(EMAIL_PATTERN, java.util.regex.Pattern.CASE_INSENSITIVE); diff --git a/bus-core/src/main/java/org/aoju/bus/core/convert/AbstractConverter.java b/bus-core/src/main/java/org/aoju/bus/core/convert/AbstractConverter.java index cc62317b64..ce205d79d7 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/convert/AbstractConverter.java +++ b/bus-core/src/main/java/org/aoju/bus/core/convert/AbstractConverter.java @@ -31,8 +31,8 @@ import java.util.Map; /** - * 抽象转换器,提供通用的转换逻辑,同时通过convertInternal实现对应类型的专属逻辑 - * 转换器不会抛出转换异常,转换失败时会返回{@code null} + * 抽象转换器,提供通用的转换逻辑,同时通过convertInternal实现对应类型的专属逻辑 + * 转换器不会抛出转换异常,转换失败时会返回{@code null} * * @author Kimi Liu * @version 5.2.2 @@ -55,7 +55,7 @@ public T convert(Object value, T defaultValue) { if (null == defaultValue || targetType.isInstance(defaultValue)) { if (targetType.isInstance(value) && false == Map.class.isAssignableFrom(targetType)) { - // 除Map外,已经是目标类型,不需要转换(Map类型涉及参数类型,需要单独转换) + // 除Map外,已经是目标类型,不需要转换(Map类型涉及参数类型,需要单独转换) return targetType.cast(value); } T result; @@ -87,8 +87,8 @@ public T convertQuietly(Object value, T defaultValue) { } /** - * 内部转换器,被 {@link AbstractConverter#convert(Object, Object)} 调用,实现基本转换逻辑 - * 内部转换器转换后如果转换失败可以做如下操作,处理结果都为返回默认值: + * 内部转换器,被 {@link AbstractConverter#convert(Object, Object)} 调用,实现基本转换逻辑 + * 内部转换器转换后如果转换失败可以做如下操作,处理结果都为返回默认值: * ** 1、返回{@code null} @@ -130,7 +130,7 @@ protected String convertToStr(Object value) { /** * 获得此类实现类的泛型类型 * - * @return 此类的泛型类型,可能为{@code null} + * @return 此类的泛型类型, 可能为{@code null} */ public ClassgetTargetType() { return (Class ) ClassUtils.getTypeArgument(getClass()); diff --git a/bus-core/src/main/java/org/aoju/bus/core/convert/BasicType.java b/bus-core/src/main/java/org/aoju/bus/core/convert/BasicType.java index cf3f2e5b72..f77439ac61 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/convert/BasicType.java +++ b/bus-core/src/main/java/org/aoju/bus/core/convert/BasicType.java @@ -39,11 +39,11 @@ public enum BasicType { BYTE, SHORT, INT, INTEGER, LONG, DOUBLE, FLOAT, BOOLEAN, CHAR, CHARACTER, STRING; /** - * 包装类型为Key,原始类型为Value,例如: Integer.class =》 int.class. + * 包装类型为Key,原始类型为Value,例如: Integer.class =》 int.class. */ public static final Map , Class>> wrapperPrimitiveMap = new ConcurrentHashMap<>(8); /** - * 原始类型为Key,包装类型为Value,例如: int.class =》 Integer.class. + * 原始类型为Key,包装类型为Value,例如: int.class =》 Integer.class. */ public static final Map , Class>> primitiveWrapperMap = new ConcurrentHashMap<>(8); @@ -63,7 +63,7 @@ public enum BasicType { } /** - * 原始类转为包装类,非原始类返回原类 + * 原始类转为包装类,非原始类返回原类 * * @param clazz 原始类 * @return 包装类 @@ -77,7 +77,7 @@ public static Class> wrap(Class> clazz) { } /** - * 包装类转为原始类,非包装类返回原类 + * 包装类转为原始类,非包装类返回原类 * * @param clazz 包装类 * @return 原始类 diff --git a/bus-core/src/main/java/org/aoju/bus/core/convert/Convert.java b/bus-core/src/main/java/org/aoju/bus/core/convert/Convert.java index 8c4abb2ec4..92481eee87 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/convert/Convert.java +++ b/bus-core/src/main/java/org/aoju/bus/core/convert/Convert.java @@ -47,7 +47,7 @@ public class Convert { /** * 转换为字符串 - * 如果给定的值为null,或者转换失败,返回默认值 + * 如果给定的值为null,或者转换失败,返回默认值 * 转换失败不会报错 * * @param value 被转换的值 @@ -60,7 +60,7 @@ public static String toString(Object value, String defaultValue) { /** * 转换为字符串 - * 如果给定的值为 null
,或者转换失败,返回默认值null
+ * 如果给定的值为null
,或者转换失败,返回默认值null
* 转换失败不会报错 * * @param value 被转换的值 @@ -83,7 +83,7 @@ public static String[] toStrArray(Object value) { /** * 转换为字符 - * 如果给定的值为null,或者转换失败,返回默认值 + * 如果给定的值为null,或者转换失败,返回默认值 * 转换失败不会报错 * * @param value 被转换的值 @@ -96,7 +96,7 @@ public static Character toChar(Object value, Character defaultValue) { /** * 转换为字符 - * 如果给定的值为null
,或者转换失败,返回默认值null
+ * 如果给定的值为null
,或者转换失败,返回默认值null
* 转换失败不会报错 * * @param value 被转换的值 @@ -119,7 +119,7 @@ public static Character[] toCharArray(Object value) { /** * 转换为byte - * 如果给定的值为null
,或者转换失败,返回默认值 + * 如果给定的值为null
,或者转换失败,返回默认值 * 转换失败不会报错 * * @param value 被转换的值 @@ -132,7 +132,7 @@ public static Byte toByte(Object value, Byte defaultValue) { /** * 转换为byte - * 如果给定的值为null
,或者转换失败,返回默认值null
+ * 如果给定的值为null
,或者转换失败,返回默认值null
* 转换失败不会报错 * * @param value 被转换的值 @@ -155,7 +155,7 @@ public static Byte[] toByteArray(Object value) { /** * 转换为Short - * 如果给定的值为null
,或者转换失败,返回默认值 + * 如果给定的值为null
,或者转换失败,返回默认值 * 转换失败不会报错 * * @param value 被转换的值 @@ -168,7 +168,7 @@ public static Short toShort(Object value, Short defaultValue) { /** * 转换为Short - * 如果给定的值为null
,或者转换失败,返回默认值null
+ * 如果给定的值为null
,或者转换失败,返回默认值null
* 转换失败不会报错 * * @param value 被转换的值 @@ -191,7 +191,7 @@ public static Short[] toShortArray(Object value) { /** * 转换为Number - * 如果给定的值为空,或者转换失败,返回默认值 + * 如果给定的值为空,或者转换失败,返回默认值 * 转换失败不会报错 * * @param value 被转换的值 @@ -204,7 +204,7 @@ public static Number toNumber(Object value, Number defaultValue) { /** * 转换为Number - * 如果给定的值为空,或者转换失败,返回默认值null
+ * 如果给定的值为空,或者转换失败,返回默认值null
* 转换失败不会报错 * * @param value 被转换的值 @@ -227,7 +227,7 @@ public static Number[] toNumberArray(Object value) { /** * 转换为int - * 如果给定的值为空,或者转换失败,返回默认值 + * 如果给定的值为空,或者转换失败,返回默认值 * 转换失败不会报错 * * @param value 被转换的值 @@ -240,7 +240,7 @@ public static Integer toInt(Object value, Integer defaultValue) { /** * 转换为int - * 如果给定的值为null
,或者转换失败,返回默认值null
+ * 如果给定的值为null
,或者转换失败,返回默认值null
* 转换失败不会报错 * * @param value 被转换的值 @@ -262,7 +262,7 @@ public static Integer[] toIntArray(Object value) { /** * 转换为long - * 如果给定的值为空,或者转换失败,返回默认值 + * 如果给定的值为空,或者转换失败,返回默认值 * 转换失败不会报错 * * @param value 被转换的值 @@ -275,7 +275,7 @@ public static Long toLong(Object value, Long defaultValue) { /** * 转换为long - * 如果给定的值为null
,或者转换失败,返回默认值null
+ * 如果给定的值为null
,或者转换失败,返回默认值null
* 转换失败不会报错 * * @param value 被转换的值 @@ -297,7 +297,7 @@ public static Long[] toLongArray(Object value) { /** * 转换为double - * 如果给定的值为空,或者转换失败,返回默认值 + * 如果给定的值为空,或者转换失败,返回默认值 * 转换失败不会报错 * * @param value 被转换的值 @@ -310,7 +310,7 @@ public static Double toDouble(Object value, Double defaultValue) { /** * 转换为double - * 如果给定的值为空,或者转换失败,返回默认值null
+ * 如果给定的值为空,或者转换失败,返回默认值null
* 转换失败不会报错 * * @param value 被转换的值 @@ -332,7 +332,7 @@ public static Double[] toDoubleArray(Object value) { /** * 转换为Float - * 如果给定的值为空,或者转换失败,返回默认值 + * 如果给定的值为空,或者转换失败,返回默认值 * 转换失败不会报错 * * @param value 被转换的值 @@ -345,7 +345,7 @@ public static Float toFloat(Object value, Float defaultValue) { /** * 转换为Float - * 如果给定的值为空,或者转换失败,返回默认值null
+ * 如果给定的值为空,或者转换失败,返回默认值null
* 转换失败不会报错 * * @param value 被转换的值 @@ -367,7 +367,7 @@ public static Float[] toFloatArray(Object value) { /** * 转换为boolean - * String支持的值为:true、false、yes、ok、no,1,0 如果给定的值为空,或者转换失败,返回默认值 + * String支持的值为:true、false、yes、ok、no,1,0 如果给定的值为空,或者转换失败,返回默认值 * 转换失败不会报错 * * @param value 被转换的值 @@ -380,7 +380,7 @@ public static Boolean toBool(Object value, Boolean defaultValue) { /** * 转换为boolean - * 如果给定的值为空,或者转换失败,返回默认值null
+ * 如果给定的值为空,或者转换失败,返回默认值null
* 转换失败不会报错 * * @param value 被转换的值 @@ -402,7 +402,7 @@ public static Boolean[] toBooleanArray(Object value) { /** * 转换为BigInteger - * 如果给定的值为空,或者转换失败,返回默认值 + * 如果给定的值为空,或者转换失败,返回默认值 * 转换失败不会报错 * * @param value 被转换的值 @@ -415,7 +415,7 @@ public static BigInteger toBigInteger(Object value, BigInteger defaultValue) { /** * 转换为BigInteger - * 如果给定的值为空,或者转换失败,返回默认值null
+ * 如果给定的值为空,或者转换失败,返回默认值null
* 转换失败不会报错 * * @param value 被转换的值 @@ -427,7 +427,7 @@ public static BigInteger toBigInteger(Object value) { /** * 转换为BigDecimal - * 如果给定的值为空,或者转换失败,返回默认值 + * 如果给定的值为空,或者转换失败,返回默认值 * 转换失败不会报错 * * @param value 被转换的值 @@ -440,7 +440,7 @@ public static BigDecimal toBigDecimal(Object value, BigDecimal defaultValue) { /** * 转换为BigDecimal - * 如果给定的值为空,或者转换失败,返回null + * 如果给定的值为空,或者转换失败,返回null * 转换失败不会报错 * * @param value 被转换的值 @@ -452,7 +452,7 @@ public static BigDecimal toBigDecimal(Object value) { /** * 转换为Date - * 如果给定的值为空,或者转换失败,返回默认值 + * 如果给定的值为空,或者转换失败,返回默认值 * 转换失败不会报错 * * @param value 被转换的值 @@ -465,7 +465,7 @@ public static Date toDate(Object value, Date defaultValue) { /** * 转换为Date - * 如果给定的值为空,或者转换失败,返回null
+ * 如果给定的值为空,或者转换失败,返回null
* 转换失败不会报错 * * @param value 被转换的值 @@ -477,7 +477,7 @@ public static Date toDate(Object value) { /** * 转换为Enum对象 - * 如果给定的值为空,或者转换失败,返回默认值 + * 如果给定的值为空,或者转换失败,返回默认值 * * @param枚举类型 * @param clazz Enum的Class @@ -491,7 +491,7 @@ public static > E toEnum(Class clazz, Object value, E defau /** * 转换为Enum对象 - * 如果给定的值为空,或者转换失败,返回默认值 null
+ * 如果给定的值为空,或者转换失败,返回默认值null
* * @param枚举类型 * @param clazz Enum的Class @@ -515,7 +515,7 @@ public static Collection> toCollection(Class> collectionType, Class> eleme } /** - * 转换为ArrayList,元素类型默认Object + * 转换为ArrayList,元素类型默认Object * * @param value 被转换的值 * @return {@link List} @@ -537,7 +537,7 @@ public static List toList(Class elementType, Object value) { } /** - * 转换值为指定类型,类型采用字符串表示 + * 转换值为指定类型,类型采用字符串表示 * * @param 目标类型 * @param className 类的字符串表示 @@ -664,7 +664,7 @@ public static String toDBC(String text, Set notConvertSet) { } if (c[i] == '\u3000' || c[i] == '\u00a0' || c[i] == '\u2007' || c[i] == '\u202F') { - // \u3000是中文全角空格,\u00a0、\u2007、\u202F是不间断空格 + // \u3000是中文全角空格,\u00a0、\u2007、\u202F是不间断空格 c[i] = ' '; } else if (c[i] > '\uFF00' && c[i] < '\uFF5F') { c[i] = (char) (c[i] - 65248); @@ -676,7 +676,7 @@ public static String toDBC(String text, Set notConvertSet) { } /** - * 字符串转换成十六进制字符串,结果为小写 + * 字符串转换成十六进制字符串,结果为小写 * * @param str 待转换的ASCII字符串 * @param charset 编码 @@ -699,7 +699,7 @@ public static String toHex(byte[] bytes) { /** * Hex字符串转换为Byte值 * - * @param src Byte字符串,每个Byte之间没有分隔符 + * @param src Byte字符串,每个Byte之间没有分隔符 * @return byte[] */ public static byte[] hexToBytes(String src) { @@ -741,7 +741,7 @@ public static String unicodeToStr(String unicode) { /** * 给定字符串转换字符编码 - * 如果参数为空,则返回原字符串,不报错。 + * 如果参数为空,则返回原字符串,不报错 * * @param str 被转码的字符串 * @param sourceCharset 原字符集 @@ -772,7 +772,7 @@ public static long convertTime(long sourceDuration, TimeUnit sourceUnit, TimeUni } /** - * 原始类转为包装类,非原始类返回原类 + * 原始类转为包装类,非原始类返回原类 * * @param clazz 原始类 * @return 包装类 @@ -784,7 +784,7 @@ public static Class> wrap(Class> clazz) { } /** - * 包装类转为原始类,非包装类返回原类 + * 包装类转为原始类,非包装类返回原类 * * @param clazz 包装类 * @return 原始类 diff --git a/bus-core/src/main/java/org/aoju/bus/core/convert/Converter.java b/bus-core/src/main/java/org/aoju/bus/core/convert/Converter.java index fa38cfedc8..d656efe4db 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/convert/Converter.java +++ b/bus-core/src/main/java/org/aoju/bus/core/convert/Converter.java @@ -24,7 +24,7 @@ package org.aoju.bus.core.convert; /** - * 转换器接口,实现类型转换 + * 转换器接口,实现类型转换 * * @author Kimi Liu * @version 5.2.2 @@ -34,12 +34,12 @@ public interface Converter { /** * 转换为指定类型 - * 如果类型无法确定,将读取默认值的类型做为目标类型 + * 如果类型无法确定,将读取默认值的类型做为目标类型 * * @param value 原始值 * @param defaultValue 默认值 * @return 转换后的值 - * @throws IllegalArgumentException 无法确定目标类型,且默认值为{@code null},无法确定类型 + * @throws IllegalArgumentException 无法确定目标类型,且默认值为{@code null},无法确定类型 */ T convert(Object value, T defaultValue) throws IllegalArgumentException; diff --git a/bus-core/src/main/java/org/aoju/bus/core/convert/ConverterRegistry.java b/bus-core/src/main/java/org/aoju/bus/core/convert/ConverterRegistry.java index b1d6581cba..af4ff7ca52 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/convert/ConverterRegistry.java +++ b/bus-core/src/main/java/org/aoju/bus/core/convert/ConverterRegistry.java @@ -50,10 +50,10 @@ /** * 转换器登记中心 * - * 将各种类型Convert对象放入登记中心,通过convert方法查找目标类型对应的转换器,将被转换对象转换之。 + * 将各种类型Convert对象放入登记中心,通过convert方法查找目标类型对应的转换器,将被转换对象转换之 *
*- * 在此类中,存放着默认转换器和自定义转换器,默认转换器预定义的一些转换器,自定义转换器存放用户自定的转换器。 + * 在此类中,存放着默认转换器和自定义转换器,默认转换器预定义的一些转换器,自定义转换器存放用户自定的转换器 *
* * @author Kimi Liu @@ -88,7 +88,7 @@ public static ConverterRegistry getInstance() { * 登记自定义转换器 * * @param type 转换的目标类型 - * @param converterClass 转换器类,必须有默认构造方法 + * @param converterClass 转换器类,必须有默认构造方法 * @return {@link ConverterRegistry} */ public ConverterRegistry putCustom(Type type, Class extends Converter>> converterClass) { @@ -183,7 +183,7 @@ publicT convert(Type type, Object value, T defaultValue, boolean isCustomFi } final Class rowType = (Class ) TypeUtils.getClass(type); - // 特殊类型转换,包括Collection、Map、强转、Array等 + // 特殊类型转换,包括Collection、Map、强转、Array等 final T result = convertSpecial(type, rowType, value, defaultValue); if (null != result) { return result; @@ -225,7 +225,7 @@ public T convert(Type type, Object value, T defaultValue) throws InstrumentE * @param 转换的目标类型(转换器转换到的类型) * @param type 类型 * @param value 值 - * @return 转换后的值,默认为 null
+ * @return 转换后的值, 默认为null
* @throws InstrumentException 转换器不存在 */ publicT convert(Type type, Object value) throws InstrumentException { @@ -353,11 +353,11 @@ private ConverterRegistry defaultConverter() { } /** - * 类级的内部类,也就是静态的成员式内部类,该内部类的实例与外部类的实例 没有绑定关系,而且只有被调用到才会装载,从而实现了延迟加载 + * 类级的内部类,也就是静态的成员式内部类,该内部类的实例与外部类的实例 没有绑定关系,而且只有被调用到才会装载,从而实现了延迟加载 */ private static class SingletonHolder { /** - * 静态初始化器,由JVM来保证线程安全 + * 静态初始化器,由JVM来保证线程安全 */ private static ConverterRegistry instance = new ConverterRegistry(); } diff --git a/bus-core/src/main/java/org/aoju/bus/core/convert/NumberChinese.java b/bus-core/src/main/java/org/aoju/bus/core/convert/NumberChinese.java index dc0f7ffb75..56b8bddcff 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/convert/NumberChinese.java +++ b/bus-core/src/main/java/org/aoju/bus/core/convert/NumberChinese.java @@ -30,9 +30,9 @@ * 数字转中文类 * 包括: * - * 1. 数字转中文大写形式,比如一百二十一 - * 2. 数字转金额用的大写形式,比如:壹佰贰拾壹 - * 3. 转金额形式,比如:壹佰贰拾壹整 + * 1. 数字转中文大写形式,比如一百二十一 + * 2. 数字转金额用的大写形式,比如:壹佰贰拾壹 + * 3. 转金额形式,比如:壹佰贰拾壹整 ** * @author Kimi Liu @@ -103,11 +103,11 @@ public static String format(double amount, boolean isUseTraditional, boolean isM chineseStr = "亿" + chineseStr; } else { if ("".equals(partChinese) && false == beforeWanIsZero) { - // 如果“万”对应的 part 为 0,而“万”下面一级不为 0,则不加“万”,而加“零” + // 如果“万”对应的 part 为 0,而“万”下面一级不为 0,则不加“万”,而加“零” chineseStr = "零" + chineseStr; } else { if (parts[i - 1] < 1000 && parts[i - 1] > 0) { - // 如果"万"的部分不为 0, 而"万"前面的部分小于 1000 大于 0, 则万后面应该跟“零” + // 如果"万"的部分不为 0, 而"万"前面的部分小于 1000 大于 0, 则万后面应该跟“零” chineseStr = "零" + chineseStr; } chineseStr = "万" + chineseStr; @@ -147,7 +147,7 @@ public static String format(double amount, boolean isUseTraditional, boolean isM } /** - * 把一个 0~9999 之间的整数转换为汉字的字符串,如果是 0 则返回 "" + * 把一个 0~9999 之间的整数转换为汉字的字符串,如果是 0 则返回 "" * * @param amountPart 数字部分 * @param isUseTraditional 是否使用繁体单位 @@ -160,7 +160,7 @@ private static String toChinese(int amountPart, boolean isUseTraditional) { int temp = amountPart; String chineseStr = ""; - boolean lastIsZero = true; // 在从低位往高位循环时,记录上一位数字是不是 0 + boolean lastIsZero = true; // 在从低位往高位循环时,记录上一位数字是不是 0 for (int i = 0; temp > 0; i++) { if (temp == 0) { // 高位已无数据 @@ -169,7 +169,7 @@ private static String toChinese(int amountPart, boolean isUseTraditional) { int digit = temp % 10; if (digit == 0) { // 取到的数字为 0 if (false == lastIsZero) { - // 前一个数字不是 0,则在当前汉字串前加“零”字; + // 前一个数字不是 0,则在当前汉字串前加“零”字; chineseStr = "零" + chineseStr; } lastIsZero = true; diff --git a/bus-core/src/main/java/org/aoju/bus/core/convert/NumberWord.java b/bus-core/src/main/java/org/aoju/bus/core/convert/NumberWord.java index 5e7899eda6..b58ab9efc8 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/convert/NumberWord.java +++ b/bus-core/src/main/java/org/aoju/bus/core/convert/NumberWord.java @@ -38,7 +38,7 @@ public class NumberWord { /** * 将阿拉伯数字转为英文表达式 * - * @param x 阿拉伯数字,可以为{@link Number}对象,也可以是普通对象,最后会使用字符串方式处理 + * @param x 阿拉伯数字,可以为{@link Number}对象,也可以是普通对象,最后会使用字符串方式处理 * @return 英文表达式 */ public static String format(Object x) { @@ -58,7 +58,7 @@ public static String format(Object x) { private static String format(String x) { int z = x.indexOf("."); // 取小数点位置 String lstr = "", rstr = ""; - if (z > -1) { // 看是否有小数,如果有,则分别取左边和右边 + if (z > -1) { // 看是否有小数,如果有,则分别取左边和右边 lstr = x.substring(0, z); rstr = x.substring(z + 1); } else { @@ -86,7 +86,7 @@ private static String format(String x) { lm = transThree(a[i]) + " " + parseMore(String.valueOf(i)) + " " + lm; // 加: // thousand、million、billion } else { - lm = transThree(a[i]); // 防止i=0时, 在多加两个空格. + lm = transThree(a[i]); // 防止i=0时, 在多加两个空格. } } else { lm += transThree(a[i]); diff --git a/bus-core/src/main/java/org/aoju/bus/core/convert/impl/ArrayConverter.java b/bus-core/src/main/java/org/aoju/bus/core/convert/impl/ArrayConverter.java index d7982ae1a1..ce1835e507 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/convert/impl/ArrayConverter.java +++ b/bus-core/src/main/java/org/aoju/bus/core/convert/impl/ArrayConverter.java @@ -37,7 +37,7 @@ import java.util.List; /** - * 数组转换器,包括原始类型数组 + * 数组转换器,包括原始类型数组 * * @author Kimi Liu * @version 5.2.2 @@ -137,14 +137,14 @@ private Object convertObjectToArray(Object value) { i++; } } else if (value instanceof Iterable) { - // 可循环对象转数组,可循环对象无法获取长度,因此先转为List后转为数组 + // 可循环对象转数组,可循环对象无法获取长度,因此先转为List后转为数组 final List> list = IterUtils.toList((Iterable>) value); result = Array.newInstance(targetComponentType, list.size()); for (int i = 0; i < list.size(); i++) { Array.set(result, i, converter.convert(targetComponentType, list.get(i))); } } else if (value instanceof Iterator) { - // 可循环对象转数组,可循环对象无法获取长度,因此先转为List后转为数组 + // 可循环对象转数组,可循环对象无法获取长度,因此先转为List后转为数组 final List> list = IterUtils.toList((Iterator>) value); result = Array.newInstance(targetComponentType, list.size()); for (int i = 0; i < list.size(); i++) { @@ -162,7 +162,7 @@ private Object convertObjectToArray(Object value) { * 单元素数组 * * @param value 被转换的值 - * @return 数组,只包含一个元素 + * @return 数组, 只包含一个元素 */ private Object[] convertToSingleElementArray(Object value) { final Object[] singleElementArray = ArrayUtils.newArray(targetComponentType, 1); diff --git a/bus-core/src/main/java/org/aoju/bus/core/convert/impl/BeanConverter.java b/bus-core/src/main/java/org/aoju/bus/core/convert/impl/BeanConverter.java index 8580439b3b..b41d545695 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/convert/impl/BeanConverter.java +++ b/bus-core/src/main/java/org/aoju/bus/core/convert/impl/BeanConverter.java @@ -33,7 +33,7 @@ import java.util.Map; /** - * Bean转换器,支持: + * Bean转换器,支持: ** Map =》 Bean * Bean =》 Bean @@ -51,7 +51,7 @@ public class BeanConverterextends AbstractConverter { private CopyOptions copyOptions; /** - * 构造,默认转换选项,注入失败的字段忽略 + * 构造,默认转换选项,注入失败的字段忽略 * * @param beanClass 转换成的目标Bean类 */ diff --git a/bus-core/src/main/java/org/aoju/bus/core/convert/impl/CastConverter.java b/bus-core/src/main/java/org/aoju/bus/core/convert/impl/CastConverter.java index d7a31a45e6..63a2faaef7 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/convert/impl/CastConverter.java +++ b/bus-core/src/main/java/org/aoju/bus/core/convert/impl/CastConverter.java @@ -40,7 +40,7 @@ public class CastConverter extends AbstractConverter { @Override protected T convertInternal(Object value) { - // 由于在AbstractConverter中已经有类型判断并强制转换,因此当在上一步强制转换失败时直接抛出异常 + // 由于在AbstractConverter中已经有类型判断并强制转换,因此当在上一步强制转换失败时直接抛出异常 throw new InstrumentException("Can not cast value to [{}]", this.targetType); } diff --git a/bus-core/src/main/java/org/aoju/bus/core/convert/impl/CollectionConverter.java b/bus-core/src/main/java/org/aoju/bus/core/convert/impl/CollectionConverter.java index 0439b94e8b..4f1e0368b9 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/convert/impl/CollectionConverter.java +++ b/bus-core/src/main/java/org/aoju/bus/core/convert/impl/CollectionConverter.java @@ -49,7 +49,7 @@ public class CollectionConverter implements Converter > { private final Type elementType; /** - * 构造,默认集合类型使用{@link Collection} + * 构造,默认集合类型使用{@link Collection} */ public CollectionConverter() { this(Collection.class); diff --git a/bus-core/src/main/java/org/aoju/bus/core/convert/impl/Jdk8DateConverter.java b/bus-core/src/main/java/org/aoju/bus/core/convert/impl/Jdk8DateConverter.java index 6358c2cb56..dc9fd1c663 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/convert/impl/Jdk8DateConverter.java +++ b/bus-core/src/main/java/org/aoju/bus/core/convert/impl/Jdk8DateConverter.java @@ -8,7 +8,7 @@ /** * JDK8中新加入的java.time包对象解析转换器
- * 通过反射调用“parse方法”,支持的对象包括: + * 通过反射调用“parse方法”,支持的对象包括: * ** java.time.LocalDateTime diff --git a/bus-core/src/main/java/org/aoju/bus/core/convert/impl/MapConverter.java b/bus-core/src/main/java/org/aoju/bus/core/convert/impl/MapConverter.java index eaecb834cf..c1a683f1ca 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/convert/impl/MapConverter.java +++ b/bus-core/src/main/java/org/aoju/bus/core/convert/impl/MapConverter.java @@ -57,7 +57,7 @@ public class MapConverter extends AbstractConverter* - * @param isSimple 是否简单模式,简单模式为不带'-'的UUID字符串 + * @param isSimple 是否简单模式,简单模式为不带'-'的UUID字符串 * @return 此{@code UUID} 的字符串表现形式 */ public String toString(boolean isSimple) { @@ -400,9 +400,9 @@ public String toString(boolean isSimple) { } /** - * 返回此 UUID 的哈希码。 + * 返回此 UUID 的哈希码 * - * @return UUID 的哈希码值。 + * @return UUID 的哈希码值 */ public int hashCode() { long hilo = mostSigBits ^ leastSigBits; @@ -410,12 +410,12 @@ public int hashCode() { } /** - * 将此对象与指定对象比较。 + * 将此对象与指定对象比较 *- * 当且仅当参数不为 {@code null}、而是一个 UUID 对象、具有与此 UUID 相同的 varriant、包含相同的值(每一位均相同)时,结果才为 {@code true}。 + * 当且仅当参数不为 {@code null}、而是一个 UUID 对象、具有与此 UUID 相同的 varriant、包含相同的值(每一位均相同)时,结果才为 {@code true} * * @param obj 要与之比较的对象 - * @return 如果对象相同,则返回 {@code true};否则返回 {@code false} + * @return 如果对象相同, 则返回 {@code true};否则返回 {@code false} */ public boolean equals(Object obj) { if ((null == obj) || (obj.getClass() != UUID.class)) { @@ -427,13 +427,13 @@ public boolean equals(Object obj) { /** - * 将此 UUID 与指定的 UUID 比较。 + * 将此 UUID 与指定的 UUID 比较 * *
- * 如果两个 UUID 不同,且第一个 UUID 的最高有效字段大于第二个 UUID 的对应字段,则第一个 UUID 大于第二个 UUID。 + * 如果两个 UUID 不同,且第一个 UUID 的最高有效字段大于第二个 UUID 的对应字段,则第一个 UUID 大于第二个 UUID * * @param val 与此 UUID 比较的 UUID - * @return 在此 UUID 小于、等于或大于 val 时,分别返回 -1、0 或 1。 + * @return 在此 UUID 小于、等于或大于 val 时,分别返回 -1、0 或 1 */ public int compareTo(UUID val) { // The ordering is intentionally set up so that the UUIDs diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/Ansi.java b/bus-core/src/main/java/org/aoju/bus/core/lang/Ansi.java index 268eab8a9d..24c77a332d 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/Ansi.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/Ansi.java @@ -32,11 +32,11 @@ * 使用方法: * String msg = Ansi.Red.and(Ansi.BgYellow).format("Hello %s", name) * String msg = Ansi.Blink.colorize("BOOM!") - * 或者,可以直接使用常数: + * 或者,可以直接使用常数: * String msg = new Ansi(Ansi.ITALIC, Ansi.GREEN).format("Green money") * Or, even: * String msg = Ansi.BLUE + "scientific" - * 注意:同时出现多种组合FG颜色或BG颜色,只有最后一个会显示 + * 注意:同时出现多种组合FG颜色或BG颜色,只有最后一个会显示 * * @author Kimi Liu * @version 5.2.2 diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/Assert.java b/bus-core/src/main/java/org/aoju/bus/core/lang/Assert.java index ceda02ac81..1934c7cc61 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/Assert.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/Assert.java @@ -32,7 +32,7 @@ /** * 断言 - * 断言某些对象或值是否符合规定,否则抛出异常。经常用于做变量检查 + * 断言某些对象或值是否符合规定,否则抛出异常 经常用于做变量检查 * * @author Kimi Liu * @version 5.2.2 @@ -41,14 +41,14 @@ public class Assert { /** - * 断言是否为真,如果为 {@code false} 抛出 {@code IllegalArgumentException} 异常 + * 断言是否为真,如果为 {@code false} 抛出 {@code IllegalArgumentException} 异常 * *
* Assert.isTrue(i > 0, "The value must be greater than zero"); ** * @param expression 波尔值 - * @param errorMsgTemplate 错误抛出异常附带的消息模板,变量用{}代替 + * @param errorMsgTemplate 错误抛出异常附带的消息模板,变量用{}代替 * @param params 参数列表 * @throws IllegalArgumentException if expression is {@code false} */ @@ -59,7 +59,7 @@ public static void isTrue(boolean expression, String errorMsgTemplate, Object... } /** - * 断言是否为真,如果为 {@code false} 抛出 {@code IllegalArgumentException} 异常 + * 断言是否为真,如果为 {@code false} 抛出 {@code IllegalArgumentException} 异常 * ** Assert.isTrue(i > 0, "The value must be greater than zero"); @@ -73,14 +73,14 @@ public static void isTrue(boolean expression) throws IllegalArgumentException { } /** - * 断言是否为假,如果为 {@code true} 抛出 {@code IllegalArgumentException} 异常 + * 断言是否为假,如果为 {@code true} 抛出 {@code IllegalArgumentException} 异常 * ** Assert.isFalse(i < 0, "The value must be greater than zero"); ** * @param expression 波尔值 - * @param errorMsgTemplate 错误抛出异常附带的消息模板,变量用{}代替 + * @param errorMsgTemplate 错误抛出异常附带的消息模板,变量用{}代替 * @param params 参数列表 * @throws IllegalArgumentException if expression is {@code false} */ @@ -91,7 +91,7 @@ public static void isFalse(boolean expression, String errorMsgTemplate, Object.. } /** - * 断言是否为假,如果为 {@code true} 抛出 {@code IllegalArgumentException} 异常 + * 断言是否为假,如果为 {@code true} 抛出 {@code IllegalArgumentException} 异常 * ** Assert.isFalse(i < 0); @@ -105,14 +105,14 @@ public static void isFalse(boolean expression) throws IllegalArgumentException { } /** - * 断言对象是否为{@code null} ,如果不为{@code null} 抛出{@link IllegalArgumentException} 异常 + * 断言对象是否为{@code null} ,如果不为{@code null} 抛出{@link IllegalArgumentException} 异常 * ** Assert.isNull(value, "The value must be null"); ** * @param object 被检查的对象 - * @param errorMsgTemplate 消息模板,变量使用{}表示 + * @param errorMsgTemplate 消息模板,变量使用{}表示 * @param params 参数列表 * @throws IllegalArgumentException if the object is not {@code null} */ @@ -123,7 +123,7 @@ public static void isNull(Object object, String errorMsgTemplate, Object... para } /** - * 断言对象是否为{@code null} ,如果不为{@code null} 抛出{@link IllegalArgumentException} 异常 + * 断言对象是否为{@code null} ,如果不为{@code null} 抛出{@link IllegalArgumentException} 异常 * ** Assert.isNull(value); @@ -137,7 +137,7 @@ public static void isNull(Object object) throws NullPointerException { } /** - * 断言对象是否不为{@code null} ,如果为{@code null} 抛出{@link IllegalArgumentException} 异常 Assert that an object is not {@code null} . + * 断言对象是否不为{@code null} ,如果为{@code null} 抛出{@link IllegalArgumentException} 异常 Assert that an object is not {@code null} . * ** Assert.notNull(clazz, "The class must not be null"); @@ -145,7 +145,7 @@ public static void isNull(Object object) throws NullPointerException { * * @param被检查对象泛型类型 * @param object 被检查对象 - * @param errorMsgTemplate 错误消息模板,变量使用{}表示 + * @param errorMsgTemplate 错误消息模板,变量使用{}表示 * @param params 参数 * @return 被检查后的对象 * @throws NullPointerException if the object is {@code null} @@ -158,7 +158,7 @@ public static T notNull(T object, String errorMsgTemplate, Object... params) } /** - * 断言对象是否不为{@code null} ,如果为{@code null} 抛出{@link IllegalArgumentException} 异常 + * 断言对象是否不为{@code null} ,如果为{@code null} 抛出{@link IllegalArgumentException} 异常 * * * Assert.notNull(clazz); @@ -174,14 +174,14 @@ public staticT notNull(T object) throws NullPointerException { } /** - * 检查给定字符串是否为空,为空抛出 {@link IllegalArgumentException} + * 检查给定字符串是否为空,为空抛出 {@link IllegalArgumentException} * * * Assert.notEmpty(name, "Name must not be empty"); ** * @param text 被检查字符串 - * @param errorMsgTemplate 错误消息模板,变量使用{}表示 + * @param errorMsgTemplate 错误消息模板,变量使用{}表示 * @param params 参数 * @return 非空字符串 * @throws IllegalArgumentException 被检查字符串为空 @@ -194,7 +194,7 @@ public static String notEmpty(String text, String errorMsgTemplate, Object... pa } /** - * 检查给定字符串是否为空,为空抛出 {@link IllegalArgumentException} + * 检查给定字符串是否为空,为空抛出 {@link IllegalArgumentException} * ** Assert.notEmpty(name); @@ -209,14 +209,14 @@ public static String notEmpty(String text) throws IllegalArgumentException { } /** - * 检查给定字符串是否为空白(null、空串或只包含空白符),为空抛出 {@link IllegalArgumentException} + * 检查给定字符串是否为空白(null、空串或只包含空白符),为空抛出 {@link IllegalArgumentException} * ** Assert.notBlank(name, "Name must not be blank"); ** * @param text 被检查字符串 - * @param errorMsgTemplate 错误消息模板,变量使用{}表示 + * @param errorMsgTemplate 错误消息模板,变量使用{}表示 * @param params 参数 * @return 非空字符串 * @throws IllegalArgumentException 被检查字符串为空白 @@ -230,7 +230,7 @@ public static String notBlank(String text, String errorMsgTemplate, Object... pa } /** - * 检查给定字符串是否为空白(null、空串或只包含空白符),为空抛出 {@link IllegalArgumentException} + * 检查给定字符串是否为空白(null、空串或只包含空白符),为空抛出 {@link IllegalArgumentException} * ** Assert.notBlank(name, "Name must not be blank"); @@ -283,7 +283,7 @@ public static String notContain(String textToSearch, String substring) throws Il } /** - * 断言给定数组是否包含元素,数组必须不为 {@code null} 且至少包含一个元素 + * 断言给定数组是否包含元素,数组必须不为 {@code null} 且至少包含一个元素 * ** Assert.notEmpty(array, "The array must have elements"); @@ -303,7 +303,7 @@ public static Object[] notEmpty(Object[] array, String errorMsgTemplate, Object. } /** - * 断言给定数组是否包含元素,数组必须不为 {@code null} 且至少包含一个元素 + * 断言给定数组是否包含元素,数组必须不为 {@code null} 且至少包含一个元素 * ** Assert.notEmpty(array, "The array must have elements"); @@ -318,7 +318,7 @@ public static Object[] notEmpty(Object[] array) throws IllegalArgumentException } /** - * 断言给定数组是否不包含{@code null}元素,如果数组为空或 {@code null}将被认为不包含 + * 断言给定数组是否不包含{@code null}元素,如果数组为空或 {@code null}将被认为不包含 * ** Assert.noNullElements(array, "The array must have non-null elements"); @@ -339,7 +339,7 @@ public staticT[] noNullElements(T[] array, String errorMsgTemplate, Object. } /** - * 断言给定数组是否不包含{@code null}元素,如果数组为空或 {@code null}将被认为不包含 + * 断言给定数组是否不包含{@code null}元素,如果数组为空或 {@code null}将被认为不包含 * * * Assert.noNullElements(array); diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/Caller.java b/bus-core/src/main/java/org/aoju/bus/core/lang/Caller.java index 015cd4300b..aaf17a60f6 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/Caller.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/Caller.java @@ -26,7 +26,7 @@ import org.aoju.bus.core.lang.exception.InstrumentException; /** - * 调用者。可以通过此类的方法获取调用者、多级调用者以及判断是否被调用 + * 调用者 可以通过此类的方法获取调用者、多级调用者以及判断是否被调用 * * @author Kimi Liu * @version 5.2.2 @@ -59,7 +59,7 @@ public static Class> getCallerCaller() { } /** - * 获得调用者,指定第几级调用者 + * 获得调用者,指定第几级调用者 * 调用者层级关系: ** 0 {@link Caller} @@ -68,7 +68,7 @@ public static Class> getCallerCaller() { * ... ** - * @param depth 层级。0表示{@link Caller}本身,1表示调用{@link Caller}的类,2表示调用者的调用者,依次类推 + * @param depth 层级 0表示{@link Caller}本身,1表示调用{@link Caller}的类,2表示调用者的调用者,依次类推 * @return 第几级调用者 */ public static Class> getCaller(int depth) { @@ -122,7 +122,7 @@ private interface ICaller { Class> getCallerCaller(); /** - * 获得调用者,指定第几级调用者 + * 获得调用者,指定第几级调用者 * 调用者层级关系: ** 0 {@link Caller} @@ -131,7 +131,7 @@ private interface ICaller { * ... ** - * @param depth 层级。0表示{@link Caller}本身,1表示调用{@link Caller}的类,2表示调用者的调用者,依次类推 + * @param depth 层级 0表示{@link Caller}本身,1表示调用{@link Caller}的类,2表示调用者的调用者,依次类推 * @return 第几级调用者 */ Class> getCaller(int depth); @@ -185,7 +185,7 @@ public boolean isCalledBy(Class> clazz) { } /** - * 通过StackTrace方式获取调用者。此方式效率最低,不推荐使用 + * 通过StackTrace方式获取调用者 此方式效率最低,不推荐使用 * * @author Kimi Liu */ diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/Chain.java b/bus-core/src/main/java/org/aoju/bus/core/lang/Chain.java index c0ae2a6c9f..5ec02d06ec 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/Chain.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/Chain.java @@ -27,7 +27,7 @@ * 责任链接口 * * @param元素类型 - * @param 目标类类型,用于返回this对象 + * @param 目标类类型,用于返回this对象 * @author Kimi Liu * @version 5.2.2 * @since JDK 1.8+ diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/Console.java b/bus-core/src/main/java/org/aoju/bus/core/lang/Console.java index dc96527651..9d82d0c5f2 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/Console.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/Console.java @@ -29,7 +29,7 @@ /** * 命令行(控制台)工具方法类 - * 此类主要针对{@link System#out} 和 {@link System#err} 做封装。 + * 此类主要针对{@link System#out} 和 {@link System#err} 做封装 * * @author Kimi Liu * @version 5.2.2 @@ -46,7 +46,7 @@ public static void log() { /** * 打印控制台日志 - * 如果传入打印对象为{@link Throwable}对象,那么同时打印堆栈 + * 如果传入打印对象为{@link Throwable}对象,那么同时打印堆栈 * * @param obj 要打印的对象 */ @@ -72,7 +72,7 @@ public static void print(Object obj) { /** * 打印控制台日志 * - * @param template 文本模板,被替换的部分用 {} 表示 + * @param template 文本模板,被替换的部分用 {} 表示 * @param values 值 */ public static void log(String template, Object... values) { @@ -82,7 +82,7 @@ public static void log(String template, Object... values) { /** * 打印控制台日志 * - * @param template 文本模板,被替换的部分用 {} 表示 + * @param template 文本模板,被替换的部分用 {} 表示 * @param values 值 * @since 3.3.1 */ @@ -94,7 +94,7 @@ public static void print(String template, Object... values) { * 打印控制台日志 * * @param t 异常对象 - * @param template 文本模板,被替换的部分用 {} 表示 + * @param template 文本模板,被替换的部分用 {} 表示 * @param values 值 */ public static void log(Throwable t, String template, Object... values) { @@ -105,14 +105,14 @@ public static void log(Throwable t, String template, Object... values) { } /** - * 同 System.System.err.println()方法,打印控制台日志 + * 同 System.System.err.println()方法,打印控制台日志 */ public static void error() { System.err.println(); } /** - * 同 System.System.err.println()方法,打印控制台日志 + * 同 System.System.err.println()方法,打印控制台日志 * * @param obj 要打印的对象 */ @@ -126,9 +126,9 @@ public static void error(Object obj) { } /** - * 同 System.System.err.println()方法,打印控制台日志 + * 同 System.System.err.println()方法,打印控制台日志 * - * @param template 文本模板,被替换的部分用 {} 表示 + * @param template 文本模板,被替换的部分用 {} 表示 * @param values 值 */ public static void error(String template, Object... values) { @@ -136,10 +136,10 @@ public static void error(String template, Object... values) { } /** - * 同 System.System.err.println()方法,打印控制台日志 + * 同 System.System.err.println()方法,打印控制台日志 * * @param t 异常对象 - * @param template 文本模板,被替换的部分用 {} 表示 + * @param template 文本模板,被替换的部分用 {} 表示 * @param values 值 */ public static void error(Throwable t, String template, Object... values) { diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/Dict.java b/bus-core/src/main/java/org/aoju/bus/core/lang/Dict.java index 3888a5e804..20ee559b4b 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/Dict.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/Dict.java @@ -35,7 +35,7 @@ import java.util.*; /** - * 字典对象,扩充了HashMap中的方法 + * 字典对象,扩充了HashMap中的方法 * * @author Kimi Liu * @version 5.2.2 @@ -65,7 +65,7 @@ public Dict(int initialCapacity) { * 构造 * * @param initialCapacity 初始容量 - * @param loadFactor 容量增长因子,0~1,即达到容量的百分之多少时扩容 + * @param loadFactor 容量增长因子,0~1,即达到容量的百分之多少时扩容 */ public Dict(int initialCapacity, float loadFactor) { super(initialCapacity, loadFactor); @@ -161,7 +161,7 @@ public T toBean(Class clazz) { } /** - * 填充Value Object对象,忽略大小写 + * 填充Value Object对象,忽略大小写 * * @param Bean类型 * @param clazz Value Object(或者POJO)的类 @@ -173,7 +173,7 @@ public T toBeanIgnoreCase(Class clazz) { /** * 将值对象转换为Dict - * 类名会被当作表名,小写第一个字母 + * 类名会被当作表名,小写第一个字母 * * @param Bean类型 * @param bean 值对象 @@ -187,7 +187,7 @@ public Dict parseBean(T bean) { /** * 将值对象转换为Dict - * 类名会被当作表名,小写第一个字母 + * 类名会被当作表名,小写第一个字母 * * @param Bean类型 * @param bean 值对象 @@ -203,7 +203,7 @@ public Dict parseBean(T bean, boolean isToUnderlineCase, boolean ignoreNullV /** * 与给定实体对比并去除相同的部分 - * 此方法用于在更新操作时避免所有字段被更新,跳过不需要更新的字段 version from 2.0.0 + * 此方法用于在更新操作时避免所有字段被更新,跳过不需要更新的字段 version from 2.0.0 * * @param 字典对象类型 * @param dict 字典对象 @@ -224,7 +224,7 @@ public void removeEqual(T dict, String... withoutNames) { } /** - * 过滤Map保留指定键值对,如果键不存在跳过 + * 过滤Map保留指定键值对,如果键不存在跳过 * * @param keys 键列表 * @return Dict 结果 @@ -253,7 +253,7 @@ public Dict set(String attr, Object value) { } /** - * 设置列,当键或值为null时忽略 + * 设置列,当键或值为null时忽略 * * @param attr 属性 * @param value 值 diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/Editor.java b/bus-core/src/main/java/org/aoju/bus/core/lang/Editor.java index 23d4270ebe..0ef655b2c3 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/Editor.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/Editor.java @@ -24,11 +24,11 @@ package org.aoju.bus.core.lang; /** - * 编辑器接口,常用于对于集合中的元素做统一编辑 + * 编辑器接口,常用于对于集合中的元素做统一编辑 * 此编辑器两个作用: * * - * 1、如果返回值为null,表示此值被抛弃 + * 1、如果返回值为null,表示此值被抛弃 * 2、对对象做修改 ** @@ -43,7 +43,7 @@ public interface Editor{ * 修改过滤后的结果 * * @param t 被过滤的对象 - * @return 修改后的对象,如果被过滤返回null + * @return 修改后的对象, 如果被过滤返回null */ T edit(T t); diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/Func.java b/bus-core/src/main/java/org/aoju/bus/core/lang/Func.java index 882764558e..4a0e113dc5 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/Func.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/Func.java @@ -25,8 +25,8 @@ /** * 函数对象 - * 一个函数接口代表一个一个函数,用于包装一个函数为对象 - * 在JDK8之前,Java的函数并不能作为参数传递,也不能作为返回值存在,此接口用于将一个函数包装成为一个对象,从而传递对象 + * 一个函数接口代表一个一个函数,用于包装一个函数为对象 + * 在JDK8之前,Java的函数并不能作为参数传递,也不能作为返回值存在,此接口用于将一个函数包装成为一个对象,从而传递对象 * * @param 参数类型 * @param
返回值类型 diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/Holder.java b/bus-core/src/main/java/org/aoju/bus/core/lang/Holder.java index 46df5b4e10..f6edd24c22 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/Holder.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/Holder.java @@ -26,7 +26,7 @@ import org.aoju.bus.core.lang.mutable.MutableObject; /** - * 为不可变的对象引用提供一个可变的包装,在java中支持引用传递。 + * 为不可变的对象引用提供一个可变的包装,在java中支持引用传递 * * @param 所持有值类型 * @author Kimi Liu @@ -54,10 +54,10 @@ public Holder(T value) { } /** - * 新建Holder类,持有指定值,当值为空时抛出空指针异常 + * 新建Holder类,持有指定值,当值为空时抛出空指针异常 * * @param 被持有的对象类型 - * @param value 值,不能为空 + * @param value 值,不能为空 * @return Holder */ public static Holder of(T value) throws NullPointerException { diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/Murmur.java b/bus-core/src/main/java/org/aoju/bus/core/lang/Murmur.java index df3a6cc3d4..0db8b137e8 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/Murmur.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/Murmur.java @@ -62,7 +62,7 @@ public static int hash32(byte[] data) { * * @param data 数据 * @param length 长度 - * @param seed 种子,默认0 + * @param seed 种子,默认0 * @return Hash值 */ public static int hash32(byte[] data, int length, int seed) { @@ -141,7 +141,7 @@ public static long hash64(byte[] data) { * * @param data 数据 * @param length 长度 - * @param seed 种子,默认0 + * @param seed 种子,默认0 * @return Hash值 */ public static long hash64(byte[] data, int length, int seed) { @@ -224,7 +224,7 @@ public static long[] hash128(byte[] data) { * * @param data 数据 * @param length 长度 - * @param seed 种子,默认0 + * @param seed 种子,默认0 * @return Hash值(2 longs) */ public static long[] hash128(byte[] data, int length, int seed) { diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/Replacer.java b/bus-core/src/main/java/org/aoju/bus/core/lang/Replacer.java index d76ec85185..5c6b5c19f4 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/Replacer.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/Replacer.java @@ -25,7 +25,7 @@ /** * 替换器 - * 通过实现此接口完成指定类型对象的替换操作,替换后的目标类型依旧为指定类型 + * 通过实现此接口完成指定类型对象的替换操作,替换后的目标类型依旧为指定类型 * * @param 被替换操作的类型 * @author Kimi Liu diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/Scaner.java b/bus-core/src/main/java/org/aoju/bus/core/lang/Scaner.java index eaf668fd6e..4610542075 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/Scaner.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/Scaner.java @@ -54,15 +54,15 @@ public class Scaner { */ private String packageName; /** - * 包名,最后跟一个点,表示包名,避免在检查前缀时的歧义 + * 包名,最后跟一个点,表示包名,避免在检查前缀时的歧义 */ private String packageNameWithDot; /** - * 包路径,用于文件中对路径操作 + * 包路径,用于文件中对路径操作 */ private String packageDirName; /** - * 包路径,用于jar中对路径操作,在Linux下与packageDirName一致 + * 包路径,用于jar中对路径操作,在Linux下与packageDirName一致 */ private String packagePath; /** @@ -81,26 +81,26 @@ public class Scaner { private Set > classes = new HashSet >(); /** - * 构造,默认UTF-8编码 + * 构造,默认UTF-8编码 */ public Scaner() { this(null); } /** - * 构造,默认UTF-8编码 + * 构造,默认UTF-8编码 * - * @param packageName 包名,所有包传入""或者null + * @param packageName 包名,所有包传入""或者null */ public Scaner(String packageName) { this(packageName, null); } /** - * 构造,默认UTF-8编码 + * 构造,默认UTF-8编码 * - * @param packageName 包名,所有包传入""或者null - * @param classFilter 过滤器,无需传入null + * @param packageName 包名,所有包传入""或者null + * @param classFilter 过滤器,无需传入null */ public Scaner(String packageName, Filter > classFilter) { this(packageName, classFilter, org.aoju.bus.core.consts.Charset.UTF_8); @@ -109,8 +109,8 @@ public Scaner(String packageName, Filter > classFilter) { /** * 构造 * - * @param packageName 包名,所有包传入""或者null - * @param classFilter 过滤器,无需传入null + * @param packageName 包名,所有包传入""或者null + * @param classFilter 过滤器,无需传入null * @param charset 编码 */ public Scaner(String packageName, Filter > classFilter, Charset charset) { @@ -175,12 +175,12 @@ public static Set > scanPackage(String packageName) { } /** - * 扫面包路径下满足class过滤器条件的所有class文件, + * 扫面包路径下满足class过滤器条件的所有class文件, * 如果包路径为 com.abs + A.class 但是输入 abs会产生classNotFoundException * 因为className 应该为 com.abs.A 现在却成为abs.A,此工具类对该异常进行忽略处理 * * @param packageName 包路径 com | com. | com.abs | com.abs. - * @param classFilter class过滤器,过滤掉不需要的class + * @param classFilter class过滤器,过滤掉不需要的class * @return 类集合 */ public static Set > scanPackage(String packageName, Filter > classFilter) { @@ -228,7 +228,7 @@ public void setInitialize(boolean initialize) { private void scanJavaClassPaths() { final String[] javaClassPaths = ClassUtils.getJavaClassPaths(); for (String classPath : javaClassPaths) { - // bug修复,由于路径中空格和中文导致的Jar找不到 + // bug修复,由于路径中空格和中文导致的Jar找不到 classPath = UriUtils.decode(classPath, CharsetUtils.systemCharsetName()); scanFile(new File(classPath), null); @@ -246,7 +246,7 @@ private void scanFile(File file, String rootDir) { final String fileName = file.getAbsolutePath(); if (fileName.endsWith(FileType.CLASS)) { final String className = fileName// - // 8为classes长度,fileName.length() - 6为".class"的长度 + // 8为classes长度,fileName.length() - 6为".class"的长度 .substring(rootDir.length(), fileName.length() - 6)// .replace(File.separatorChar, Symbol.C_DOT);// //加入满足条件的类 @@ -297,9 +297,9 @@ private Class> loadClass(String className) { try { clazz = Class.forName(className, this.initialize, ClassUtils.getClassLoader()); } catch (NoClassDefFoundError e) { - // 由于依赖库导致的类无法加载,直接跳过此类 + // 由于依赖库导致的类无法加载,直接跳过此类 } catch (UnsupportedClassVersionError e) { - // 版本导致的不兼容的类,跳过 + // 版本导致的不兼容的类,跳过 } catch (Exception e) { throw new RuntimeException(e); // Console.error(e); @@ -308,7 +308,7 @@ private Class> loadClass(String className) { } /** - * 通过过滤器,是否满足接受此类的条件 + * 通过过滤器,是否满足接受此类的条件 * * @param className 类 * @return 是否接受 @@ -320,12 +320,12 @@ private void addIfAccept(String className) { int classLen = className.length(); int packageLen = this.packageName.length(); if (classLen == packageLen) { - //类名和包名长度一致,用户可能传入的包名是类名 + //类名和包名长度一致,用户可能传入的包名是类名 if (className.equals(this.packageName)) { addIfAccept(loadClass(className)); } } else if (classLen > packageLen) { - //检查类名是否以指定包名为前缀,包名后加. + //检查类名是否以指定包名为前缀,包名后加. if (className.startsWith(this.packageNameWithDot)) { addIfAccept(loadClass(className)); } @@ -333,7 +333,7 @@ private void addIfAccept(String className) { } /** - * 通过过滤器,是否满足接受此类的条件 + * 通过过滤器,是否满足接受此类的条件 * * @param clazz 类 * @return 是否接受 diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/SimpleCache.java b/bus-core/src/main/java/org/aoju/bus/core/lang/SimpleCache.java index 31f5498c70..ad90a10ca7 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/SimpleCache.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/SimpleCache.java @@ -30,7 +30,7 @@ import java.util.concurrent.locks.ReentrantReadWriteLock.WriteLock; /** - * 简单缓存,无超时实现,使用{@link WeakHashMap}实现缓存自动清理 + * 简单缓存,无超时实现,使用{@link WeakHashMap}实现缓存自动清理 * * @param 键类型 * @param 值类型 diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/Singleton.java b/bus-core/src/main/java/org/aoju/bus/core/lang/Singleton.java index a60b905f79..693dbdc950 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/Singleton.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/Singleton.java @@ -31,8 +31,8 @@ /** * 单例类 - * 提供单例对象的统一管理,当调用get方法时,如果对象池中存在此对象,返回此对象,否则创建新对象返回 - * 注意:单例针对的是类和对象,因此get方法第一次调用时创建的对象始终唯一,也就是说就算参数变更,返回的依旧是第一次创建的对象 + * 提供单例对象的统一管理,当调用get方法时,如果对象池中存在此对象,返回此对象,否则创建新对象返回 + * 注意:单例针对的是类和对象,因此get方法第一次调用时创建的对象始终唯一,也就是说就算参数变更,返回的依旧是第一次创建的对象 * * @author Kimi Liu * @version 5.2.2 @@ -47,8 +47,8 @@ private Singleton() { /** * 获得指定类的单例对象 - * 对象存在于池中返回,否则创建,每次调用此方法获得的对象为同一个对象 - * 注意:单例针对的是类和对象,因此get方法第一次调用时创建的对象始终唯一,也就是说就算参数变更,返回的依旧是第一次创建的对象 + * 对象存在于池中返回,否则创建,每次调用此方法获得的对象为同一个对象 + * 注意:单例针对的是类和对象,因此get方法第一次调用时创建的对象始终唯一,也就是说就算参数变更,返回的依旧是第一次创建的对象 * * @param 单例对象类型 * @param clazz 类 @@ -73,8 +73,8 @@ public static T get(Class clazz, Object... params) { /** * 获得指定类的单例对象 - * 对象存在于池中返回,否则创建,每次调用此方法获得的对象为同一个对象 - * 注意:单例针对的是类和对象,因此get方法第一次调用时创建的对象始终唯一,也就是说就算参数变更,返回的依旧是第一次创建的对象 + * 对象存在于池中返回,否则创建,每次调用此方法获得的对象为同一个对象 + * 注意:单例针对的是类和对象,因此get方法第一次调用时创建的对象始终唯一,也就是说就算参数变更,返回的依旧是第一次创建的对象 * * @param 单例对象类型 * @param className 类名 @@ -87,7 +87,7 @@ public static T get(String className, Object... params) { } /** - * 将已有对象放入单例中,其Class做为键 + * 将已有对象放入单例中,其Class做为键 * * @param obj 对象 */ diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/Validator.java b/bus-core/src/main/java/org/aoju/bus/core/lang/Validator.java index 88569c5fdb..b1c67248d8 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/Validator.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/Validator.java @@ -100,7 +100,7 @@ public static boolean isNotEmpty(Object value) { } /** - * 验证是否为空,为空时抛出异常 + * 验证是否为空,为空时抛出异常 * 对于String类型判定是否为empty(null 或 "") * * @param value 值 @@ -126,7 +126,7 @@ public static boolean equal(Object t1, Object t2) { } /** - * 验证是否相等,不相等抛出异常 + * 验证是否相等,不相等抛出异常 * * @param t1 对象1 * @param t2 对象2 @@ -140,7 +140,7 @@ public static void validateEqual(Object t1, Object t2, String errorMsg) throws I } /** - * 验证是否不等,相等抛出异常 + * 验证是否不等,相等抛出异常 * * @param t1 对象1 * @param t2 对象2 @@ -247,8 +247,8 @@ public static void validateGeneral(String value, String errorMsg) throws Instrum * 验证是否为给定长度范围的英文字母 、数字和下划线 * * @param value 值 - * @param min 最小长度,负数自动识别为0 - * @param max 最大长度,0或负数表示不限制最大长度 + * @param min 最小长度,负数自动识别为0 + * @param max 最大长度,0或负数表示不限制最大长度 * @return 是否为给定长度范围的英文字母 、数字和下划线 */ public static boolean isGeneral(String value, int min, int max) { @@ -266,8 +266,8 @@ public static boolean isGeneral(String value, int min, int max) { * 验证是否为给定长度范围的英文字母 、数字和下划线 * * @param value 值 - * @param min 最小长度,负数自动识别为0 - * @param max 最大长度,0或负数表示不限制最大长度 + * @param min 最小长度,负数自动识别为0 + * @param max 最大长度,0或负数表示不限制最大长度 * @param errorMsg 验证错误的信息 * @throws InstrumentException 验证异常 */ @@ -281,7 +281,7 @@ public static void validateGeneral(String value, int min, int max, String errorM * 验证是否为给定最小长度的英文字母 、数字和下划线 * * @param value 值 - * @param min 最小长度,负数自动识别为0 + * @param min 最小长度,负数自动识别为0 * @return 是否为给定最小长度的英文字母 、数字和下划线 */ public static boolean isGeneral(String value, int min) { @@ -292,7 +292,7 @@ public static boolean isGeneral(String value, int min) { * 验证是否为给定最小长度的英文字母 、数字和下划线 * * @param value 值 - * @param min 最小长度,负数自动识别为0 + * @param min 最小长度,负数自动识别为0 * @param errorMsg 验证错误的信息 * @throws InstrumentException 验证异常 */ @@ -301,10 +301,10 @@ public static void validateGeneral(String value, int min, String errorMsg) throw } /** - * 判断字符串是否全部为字母组成,包括大写和小写字母和汉字 + * 判断字符串是否全部为字母组成,包括大写和小写字母和汉字 * * @param value 值 - * @return 是否全部为字母组成,包括大写和小写字母和汉字 + * @return 是否全部为字母组成, 包括大写和小写字母和汉字 * @since 3.3.0 */ public static boolean isLetter(String value) { @@ -317,7 +317,7 @@ public boolean match(Character t) { } /** - * 验证是否全部为字母组成,包括大写和小写字母和汉字 + * 验证是否全部为字母组成,包括大写和小写字母和汉字 * * @param value 表单值 * @param errorMsg 验证错误的信息 diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/Weighing.java b/bus-core/src/main/java/org/aoju/bus/core/lang/Weighing.java index fdb47a56a2..de154ece57 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/Weighing.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/Weighing.java @@ -35,13 +35,13 @@ /** * 权重随机算法实现 * - * 平时,经常会遇到权重随机算法,从不同权重的N个元素中随机选择一个,并使得总体选择结果是按照权重分布的。如广告投放、负载均衡等。 + * 平时,经常会遇到权重随机算法,从不同权重的N个元素中随机选择一个,并使得总体选择结果是按照权重分布的 如广告投放、负载均衡等 *
*- * 如有4个元素A、B、C、D,权重分别为1、2、3、4,随机结果中A:B:C:D的比例要为1:2:3:4。 + * 如有4个元素A、B、C、D,权重分别为1、2、3、4,随机结果中A:B:C:D的比例要为1:2:3:4 *
- * 总体思路:累加每个元素的权重A(1)-B(3)-C(6)-D(10),则4个元素的的权重管辖区间分别为[0,1)、[1,3)、[3,6)、[6,10)。 - * 然后随机出一个[0,10)之间的随机数。落在哪个区间,则该区间之后的元素即为按权重命中的元素。 + * 总体思路:累加每个元素的权重A(1)-B(3)-C(6)-D(10),则4个元素的的权重管辖区间分别为[0,1)、[1,3)、[3,6)、[6,10) + * 然后随机出一个[0,10)之间的随机数 落在哪个区间,则该区间之后的元素即为按权重命中的元素 * * @param权重随机获取的对象类型 * @author Kimi Liu diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/caller/Caller.java b/bus-core/src/main/java/org/aoju/bus/core/lang/caller/Caller.java index 9497826217..4485a56d20 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/caller/Caller.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/caller/Caller.java @@ -50,7 +50,7 @@ public interface Caller { Class> getCallers(); /** - * 获得调用者,指定第几级调用者 调用者层级关系: + * 获得调用者,指定第几级调用者 调用者层级关系: * * * 0 {@link CallerUtils} @@ -59,7 +59,7 @@ public interface Caller { * ... ** - * @param depth 层级。0表示{@link CallerUtils}本身,1表示调用{@link CallerUtils}的类,2表示调用者的调用者,依次类推 + * @param depth 层级 0表示{@link CallerUtils}本身,1表示调用{@link CallerUtils}的类,2表示调用者的调用者,依次类推 * @return 第几级调用者 */ Class> getCaller(int depth); diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/caller/StackTraceCaller.java b/bus-core/src/main/java/org/aoju/bus/core/lang/caller/StackTraceCaller.java index 0308511e5d..a4241d33db 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/caller/StackTraceCaller.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/caller/StackTraceCaller.java @@ -26,7 +26,7 @@ import org.aoju.bus.core.lang.exception.InstrumentException; /** - * 通过StackTrace方式获取调用者。此方式效率最低,不推荐使用 + * 通过StackTrace方式获取调用者 此方式效率最低,不推荐使用 * * @author Kimi Liu * @version 5.2.2 diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/copier/Duplicate.java b/bus-core/src/main/java/org/aoju/bus/core/lang/copier/Duplicate.java index 1d60942491..59a8ce3387 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/copier/Duplicate.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/copier/Duplicate.java @@ -28,10 +28,10 @@ /** * 复制器抽象类 - * 抽象复制器抽象了一个对象复制到另一个对象,通过实现{@link #copy()}方法实现复制逻辑。 + * 抽象复制器抽象了一个对象复制到另一个对象,通过实现{@link #copy()}方法实现复制逻辑 * * @param拷贝的对象 - * @param 本类的类型。用于set方法返回本对象,方便流式编程 + * @param 本类的类型 用于set方法返回本对象,方便流式编程 * @author Kimi Liu * @version 5.2.2 * @since JDK 1.8+ @@ -47,7 +47,7 @@ public abstract class Duplicate > implements Copier< */ protected T dest; /** - * 拷贝过滤器,可以过滤掉不需要拷贝的源 + * 拷贝过滤器,可以过滤掉不需要拷贝的源 */ protected Filter copyFilter; diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/exception/UncheckedException.java b/bus-core/src/main/java/org/aoju/bus/core/lang/exception/UncheckedException.java index b4410ec476..00632eb8f7 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/exception/UncheckedException.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/exception/UncheckedException.java @@ -53,7 +53,7 @@ protected UncheckedException() { } /** - * 将抛出对象包裹成运行时异常,并增加自己的描述 + * 将抛出对象包裹成运行时异常,并增加自己的描述 * * @param message 打印信息 */ @@ -62,7 +62,7 @@ protected UncheckedException(String message) { } /** - * 将抛出对象包裹成运行时异常,并增加自己的描述 + * 将抛出对象包裹成运行时异常,并增加自己的描述 * * @param cause 抛出对象 */ @@ -71,7 +71,7 @@ protected UncheckedException(Throwable cause) { } /** - * 将抛出对象包裹成运行时异常,并增加自己的描述 + * 将抛出对象包裹成运行时异常,并增加自己的描述 * * @param message 打印信息 * @param cause 抛出对象 @@ -81,7 +81,7 @@ protected UncheckedException(String message, Throwable cause) { } /** - * 将抛出对象包裹成运行时异常,并增加自己的描述 + * 将抛出对象包裹成运行时异常,并增加自己的描述 * * @param errcode 错误编码 * @param errmsg 错误提示 @@ -93,7 +93,7 @@ protected UncheckedException(String errcode, String errmsg) { } /** - * 根据格式化字符串,生成运行时异常 + * 根据格式化字符串,生成运行时异常 * * @param format 格式 * @param args 参数 @@ -103,7 +103,7 @@ protected UncheckedException(String format, Object... args) { } /** - * 将抛出对象包裹成运行时异常,并增加自己的描述 + * 将抛出对象包裹成运行时异常,并增加自己的描述 * * @param e 抛出对象 * @param fmt 格式 diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/mutable/MutableBool.java b/bus-core/src/main/java/org/aoju/bus/core/lang/mutable/MutableBool.java index 267649f64b..c3bee5aa8e 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/mutable/MutableBool.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/mutable/MutableBool.java @@ -36,7 +36,7 @@ public class MutableBool implements Comparable , Mutable { private boolean value; /** - * 构造,默认值0 + * 构造,默认值0 */ public MutableBool() { super(); @@ -91,7 +91,7 @@ public void set(final Boolean value) { * * * @param obj 比对的对象 - * @return 相同返回 true
,否则false
+ * @return 相同返回true
,否则false
*/ @Override public boolean equals(final Object obj) { @@ -110,7 +110,7 @@ public int hashCode() { * 比较 * * @param other 其它 {@link MutableBool} 对象 - * @return x==y返回0,x<y返回-1,x>y返回1 + * @return x==y返回0,x<y返回-1,x>y返回1 */ @Override public int compareTo(final MutableBool other) { diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/mutable/MutableByte.java b/bus-core/src/main/java/org/aoju/bus/core/lang/mutable/MutableByte.java index 39a739617e..027da082cd 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/mutable/MutableByte.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/mutable/MutableByte.java @@ -41,7 +41,7 @@ public class MutableByte extends Number implements Comparable, Muta private byte value; /** - * 构造,默认值0 + * 构造,默认值0 */ public MutableByte() { super(); @@ -130,7 +130,7 @@ public MutableByte add(final byte operand) { /** * 增加值 * - * @param operand 被增加的值,非空 + * @param operand 被增加的值,非空 * @return this * @throws NullPointerException if the object is null */ @@ -153,7 +153,7 @@ public MutableByte subtract(final byte operand) { /** * 减去值 * - * @param operand 被减的值,非空 + * @param operand 被减的值,非空 * @return this * @throws NullPointerException if the object is null */ @@ -196,7 +196,7 @@ public double doubleValue() { * * * @param obj 比对的对象 - * @return 相同返回 true
,否则false
+ * @return 相同返回true
,否则false
*/ @Override public boolean equals(final Object obj) { @@ -215,7 +215,7 @@ public int hashCode() { * 比较 * * @param other 其它 {@link MutableByte} 对象 - * @return x==y返回0,x<y返回-1,x>y返回1 + * @return x==y返回0,x<y返回-1,x>y返回1 */ @Override public int compareTo(final MutableByte other) { diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/mutable/MutableDouble.java b/bus-core/src/main/java/org/aoju/bus/core/lang/mutable/MutableDouble.java index 1d0c4f68f9..0148f26694 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/mutable/MutableDouble.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/mutable/MutableDouble.java @@ -41,7 +41,7 @@ public class MutableDouble extends Number implements Comparable, private double value; /** - * 构造,默认值0 + * 构造,默认值0 */ public MutableDouble() { super(); @@ -130,7 +130,7 @@ public MutableDouble add(final double operand) { /** * 增加值 * - * @param operand 被增加的值,非空 + * @param operand 被增加的值,非空 * @return this */ public MutableDouble add(final Number operand) { @@ -152,7 +152,7 @@ public MutableDouble subtract(final double operand) { /** * 减去值 * - * @param operand 被减的值,非空 + * @param operand 被减的值,非空 * @return this */ public MutableDouble subtract(final Number operand) { @@ -189,7 +189,7 @@ public double doubleValue() { * * * @param obj 比对的对象 - * @return 相同返回 true
,否则false
+ * @return 相同返回true
,否则false
*/ @Override public boolean equals(final Object obj) { @@ -209,7 +209,7 @@ public int hashCode() { * 比较 * * @param other 其它 {@link MutableDouble} 对象 - * @return x==y返回0,x<y返回-1,x>y返回1 + * @return x==y返回0,x<y返回-1,x>y返回1 */ @Override public int compareTo(final MutableDouble other) { diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/mutable/MutableFloat.java b/bus-core/src/main/java/org/aoju/bus/core/lang/mutable/MutableFloat.java index 625aef6cc2..9fa8d2a201 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/mutable/MutableFloat.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/mutable/MutableFloat.java @@ -41,7 +41,7 @@ public class MutableFloat extends Number implements Comparable, Mu private float value; /** - * 构造,默认值0 + * 构造,默认值0 */ public MutableFloat() { super(); @@ -130,7 +130,7 @@ public MutableFloat add(final float operand) { /** * 增加值 * - * @param operand 被增加的值,非空 + * @param operand 被增加的值,非空 * @return this * @throws NullPointerException if the object is null */ @@ -153,7 +153,7 @@ public MutableFloat subtract(final float operand) { /** * 减去值 * - * @param operand 被减的值,非空 + * @param operand 被减的值,非空 * @return this * @throws NullPointerException if the object is null */ @@ -191,7 +191,7 @@ public double doubleValue() { * * * @param obj 比对的对象 - * @return 相同返回 true
,否则false
+ * @return 相同返回true
,否则false
*/ @Override public boolean equals(final Object obj) { @@ -210,7 +210,7 @@ public int hashCode() { * 比较 * * @param other 其它 {@link MutableFloat} 对象 - * @return x==y返回0,x<y返回-1,x>y返回1 + * @return x==y返回0,x<y返回-1,x>y返回1 */ @Override public int compareTo(final MutableFloat other) { diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/mutable/MutableInt.java b/bus-core/src/main/java/org/aoju/bus/core/lang/mutable/MutableInt.java index eda1a9833a..3ad5870ded 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/mutable/MutableInt.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/mutable/MutableInt.java @@ -41,7 +41,7 @@ public class MutableInt extends Number implements Comparable, Mutabl private int value; /** - * 构造,默认值0 + * 构造,默认值0 */ public MutableInt() { super(); @@ -130,7 +130,7 @@ public MutableInt add(final int operand) { /** * 增加值 * - * @param operand 被增加的值,非空 + * @param operand 被增加的值,非空 * @return this * @throws NullPointerException if the object is null */ @@ -153,7 +153,7 @@ public MutableInt subtract(final int operand) { /** * 减去值 * - * @param operand 被减的值,非空 + * @param operand 被减的值,非空 * @return this * @throws NullPointerException if the object is null */ @@ -191,7 +191,7 @@ public double doubleValue() { * * * @param obj 比对的对象 - * @return 相同返回 true
,否则false
+ * @return 相同返回true
,否则false
*/ @Override public boolean equals(final Object obj) { @@ -210,7 +210,7 @@ public int hashCode() { * 比较 * * @param other 其它 {@link MutableInt} 对象 - * @return x==y返回0,x<y返回-1,x>y返回1 + * @return x==y返回0,x<y返回-1,x>y返回1 */ @Override public int compareTo(final MutableInt other) { diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/mutable/MutableLong.java b/bus-core/src/main/java/org/aoju/bus/core/lang/mutable/MutableLong.java index a4e02e5bfd..9b278e779e 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/mutable/MutableLong.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/mutable/MutableLong.java @@ -40,7 +40,7 @@ public class MutableLong extends Number implements Comparable, Muta private long value; /** - * 构造,默认值0 + * 构造,默认值0 */ public MutableLong() { super(); @@ -129,7 +129,7 @@ public MutableLong add(final long operand) { /** * 增加值 * - * @param operand 被增加的值,非空 + * @param operand 被增加的值,非空 * @return this * @throws NullPointerException if the object is null */ @@ -152,7 +152,7 @@ public MutableLong subtract(final long operand) { /** * 减去值 * - * @param operand 被减的值,非空 + * @param operand 被减的值,非空 * @return this * @throws NullPointerException if the object is null */ @@ -190,7 +190,7 @@ public double doubleValue() { * * * @param obj 比对的对象 - * @return 相同返回 true
,否则false
+ * @return 相同返回true
,否则false
*/ @Override public boolean equals(final Object obj) { @@ -209,7 +209,7 @@ public int hashCode() { * 比较 * * @param other 其它 {@link MutableLong} 对象 - * @return x==y返回0,x<y返回-1,x>y返回1 + * @return x==y返回0,x<y返回-1,x>y返回1 */ @Override public int compareTo(final MutableLong other) { diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/mutable/MutableObject.java b/bus-core/src/main/java/org/aoju/bus/core/lang/mutable/MutableObject.java index 5e88d5346b..64b74d8874 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/mutable/MutableObject.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/mutable/MutableObject.java @@ -40,7 +40,7 @@ public class MutableObjectimplements Mutable , Serializable { private T value; /** - * 构造,空值 + * 构造,空值 */ public MutableObject() { super(); diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/mutable/MutableShort.java b/bus-core/src/main/java/org/aoju/bus/core/lang/mutable/MutableShort.java index 95ce86cbc4..dd2b4847c0 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/mutable/MutableShort.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/mutable/MutableShort.java @@ -41,7 +41,7 @@ public class MutableShort extends Number implements Comparable , Mu private short value; /** - * 构造,默认值0 + * 构造,默认值0 */ public MutableShort() { super(); @@ -130,7 +130,7 @@ public MutableShort add(final short operand) { /** * 增加值 * - * @param operand 被增加的值,非空 + * @param operand 被增加的值,非空 * @return this * @throws NullPointerException if the object is null */ @@ -153,7 +153,7 @@ public MutableShort subtract(final short operand) { /** * 减去值 * - * @param operand 被减的值,非空 + * @param operand 被减的值,非空 * @return this * @throws NullPointerException if the object is null */ @@ -196,7 +196,7 @@ public double doubleValue() { * * * @param obj 比对的对象 - * @return 相同返回 true
,否则false
+ * @return 相同返回true
,否则false
*/ @Override public boolean equals(final Object obj) { @@ -215,7 +215,7 @@ public int hashCode() { * 比较 * * @param other 其它 {@link MutableShort} 对象 - * @return x==y返回0,x<y返回-1,x>y返回1 + * @return x==y返回0,x<y返回-1,x>y返回1 */ @Override public int compareTo(final MutableShort other) { diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/tuple/Pair.java b/bus-core/src/main/java/org/aoju/bus/core/lang/tuple/Pair.java index 1c4798f429..a68bb506f9 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/tuple/Pair.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/tuple/Pair.java @@ -32,12 +32,12 @@ /** * 由两个元素组成 *- * 这个类是一个定义基本API的抽象实现。 - * 它表示元素为“left”和“right”。它还实现了 - * {@code Map.Entry}接口,其中键为'left',值为'right'. - * 子类实现可以是可变的,也可以是不可变的。 - * 但是,对可能存储的存储对象的类型没有限制。 - * 如果可变对象存储在对中,那么对本身就会有效地变成可变的。 + * 这个类是一个定义基本API的抽象实现 + * 它表示元素为“left”和“right” 它还实现了 + * {@code Map.Entry}接口,其中键为'left',值为'right'. + * 子类实现可以是可变的,也可以是不可变的 + * 但是,对可能存储的存储对象的类型没有限制 + * 如果可变对象存储在对中,那么对本身就会有效地变成可变的 * * @param
the left element type * @param the right element type diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/tuple/Triple.java b/bus-core/src/main/java/org/aoju/bus/core/lang/tuple/Triple.java index 8c9b35267c..88401654d3 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/tuple/Triple.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/tuple/Triple.java @@ -30,11 +30,11 @@ /** * 由三个元素组成的三元组 - * 这个类是一个定义基本API的抽象实现。 + * 这个类是一个定义基本API的抽象实现 * 表示元素为'left'、'middle'和'right'. - * 子类实现可以是可变的,也可以是不可变的。 - * 但是,对可能存储的存储对象的类型没有限制。 - * 如果可变对象存储在三元组中,那么三元组本身就会变成可变的。 + * 子类实现可以是可变的,也可以是不可变的 + * 但是,对可能存储的存储对象的类型没有限制 + * 如果可变对象存储在三元组中,那么三元组本身就会变成可变的 * * @param the left element type * @param the middle element type diff --git a/bus-core/src/main/java/org/aoju/bus/core/loader/AllFilter.java b/bus-core/src/main/java/org/aoju/bus/core/loader/AllFilter.java index 4333413bf7..844b5a2e14 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/loader/AllFilter.java +++ b/bus-core/src/main/java/org/aoju/bus/core/loader/AllFilter.java @@ -27,9 +27,9 @@ import java.util.Collection; /** - * ALL逻辑复合过滤器,即所有过滤器都满足的时候才满足, - * 只要有一个过滤器不满足就立刻返回不满足, - * 如果没有过滤器的时候则认为所有过滤器都满足。 + * ALL逻辑复合过滤器,即所有过滤器都满足的时候才满足, + * 只要有一个过滤器不满足就立刻返回不满足, + * 如果没有过滤器的时候则认为所有过滤器都满足 * * @author Kimi Liu * @version 5.2.2 diff --git a/bus-core/src/main/java/org/aoju/bus/core/loader/AnyFilter.java b/bus-core/src/main/java/org/aoju/bus/core/loader/AnyFilter.java index 934c1d7bdd..f0a24c5927 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/loader/AnyFilter.java +++ b/bus-core/src/main/java/org/aoju/bus/core/loader/AnyFilter.java @@ -27,7 +27,7 @@ import java.util.Collection; /** - * ANY逻辑复合过滤器,即任意一个过滤器满足时就满足,当没有过滤器的时候则认为没有过滤器满足,也就是不满足。 + * ANY逻辑复合过滤器,即任意一个过滤器满足时就满足,当没有过滤器的时候则认为没有过滤器满足,也就是不满足 * * @author Kimi Liu * @version 5.2.2 diff --git a/bus-core/src/main/java/org/aoju/bus/core/loader/Filter.java b/bus-core/src/main/java/org/aoju/bus/core/loader/Filter.java index e8f399a9b9..05ce878104 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/loader/Filter.java +++ b/bus-core/src/main/java/org/aoju/bus/core/loader/Filter.java @@ -37,7 +37,7 @@ public interface Filter { /** * 过滤资源 * - * @param name 资源名称,即相对路径 + * @param name 资源名称,即相对路径 * @param url 资源URL地址 * @return true: 加载 false: 不加载 */ diff --git a/bus-core/src/main/java/org/aoju/bus/core/loader/JarLoaders.java b/bus-core/src/main/java/org/aoju/bus/core/loader/JarLoaders.java index 64a846e431..976911ccad 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/loader/JarLoaders.java +++ b/bus-core/src/main/java/org/aoju/bus/core/loader/JarLoaders.java @@ -151,7 +151,7 @@ private static boolean isJarFile(File file) { } /** - * 加载Jar文件,或者加载目录 + * 加载Jar文件,或者加载目录 * * @param jarFile jar文件或者jar文件所在目录 * @return this @@ -175,7 +175,7 @@ public void addURL(URL url) { /** * 增加class所在目录或文件 - * 如果为目录,此目录用于搜索class文件,如果为文件,需为jar文件 + * 如果为目录,此目录用于搜索class文件,如果为文件,需为jar文件 * * @param dir 目录 * @return the jarClassLoader diff --git a/bus-core/src/main/java/org/aoju/bus/core/loader/Loader.java b/bus-core/src/main/java/org/aoju/bus/core/loader/Loader.java index b6040dca57..5905fb35af 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/loader/Loader.java +++ b/bus-core/src/main/java/org/aoju/bus/core/loader/Loader.java @@ -29,9 +29,9 @@ import java.util.Enumeration; /** - * 资源加载器,充分采用惰性加载的逻辑, + * 资源加载器,充分采用惰性加载的逻辑, * 让资源的加载延后到{@link Enumeration#hasMoreElements()} - * 调用时,避免无用的提前全部预加载。 + * 调用时,避免无用的提前全部预加载 * * @author Kimi Liu * @version 5.2.2 @@ -40,9 +40,9 @@ public interface Loader { /** - * 加载指定路径的所有资源,等效于Loader.load(path, false, Filters.ALWAYS)的调用。 - * 通常情况下不递归加载,但是子类可以改变此方法的行为, - * 例如ANT风格路径的资源加载器可以根据传入表达式来判断是否递归加载。 + * 加载指定路径的所有资源,等效于Loader.load(path, false, Filters.ALWAYS)的调用 + * 通常情况下不递归加载,但是子类可以改变此方法的行为, + * 例如ANT风格路径的资源加载器可以根据传入表达式来判断是否递归加载 * * @param path 资源路径 * @return 资源对象 @@ -51,7 +51,7 @@ public interface Loader { Enumeration load(String path) throws IOException; /** - * 加载指定路径的所有资源,等效于Loader.load(path, recursively, Filters.ALWAYS)的调用。 + * 加载指定路径的所有资源,等效于Loader.load(path, recursively, Filters.ALWAYS)的调用 * * @param path 资源路径 * @param recursively 递归加载 @@ -61,7 +61,7 @@ public interface Loader { Enumeration load(String path, boolean recursively) throws IOException; /** - * 加载指定路径的所有满足过滤条件的资源,等效于Loader.load(path, true, boot)的调用。 + * 加载指定路径的所有满足过滤条件的资源,等效于Loader.load(path, true, boot)的调用 * * @param path 资源路径 * @param filter 过滤器 @@ -71,7 +71,7 @@ public interface Loader { Enumeration load(String path, Filter filter) throws IOException; /** - * 加载指定路径的所有满足过滤条件的资源。 + * 加载指定路径的所有满足过滤条件的资源 * * @param path 资源路径 * @param recursively 递归加载 diff --git a/bus-core/src/main/java/org/aoju/bus/core/loader/Loaders.java b/bus-core/src/main/java/org/aoju/bus/core/loader/Loaders.java index 5c665145b7..288aeb257d 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/loader/Loaders.java +++ b/bus-core/src/main/java/org/aoju/bus/core/loader/Loaders.java @@ -38,12 +38,12 @@ public abstract class Loaders { /** - * 创建 classpath 资源加载器,也就是对{@link ClassLoader#getResources(String)}的增强封装。 - * 默认采用 {@link Thread#currentThread()}的{@link Thread#getContextClassLoader()},作为ClassLoader, + * 创建 classpath 资源加载器,也就是对{@link ClassLoader#getResources(String)}的增强封装 + * 默认采用 {@link Thread#currentThread()}的{@link Thread#getContextClassLoader()},作为ClassLoader, * 如果当前线程的上下文类加载器为{@code null} 则采用{@link ClassLoader#getSystemClassLoader()}. * 示例: - * 1. Loaders.std().load("org/aoju/bus/core/loader"); 加载classpath中"org/aoju/bus/core/loader"目录下的所有资源,但不包括子目录。
- *2. Loaders.std().load("org/", true); 加载classpath中"io/"目录下的所有资源,而且包括子目录。
+ *1. Loaders.std().load("org/aoju/bus/core/loader"); 加载classpath中"org/aoju/bus/core/loader"目录下的所有资源,但不包括子目录
+ *2. Loaders.std().load("org/", true); 加载classpath中"io/"目录下的所有资源,而且包括子目录
* * @return classpath 资源加载器 */ @@ -52,10 +52,10 @@ public static Loader std() { } /** - * 创建 classpath 资源加载器,并且指定{@link ClassLoader} + * 创建 classpath 资源加载器,并且指定{@link ClassLoader} * 示例: - *1. Loaders.std().load("org/aoju/bus/core/loader"); 加载classpath中"org/aoju/bus/core/loader"目录下的所有资源,但不包括子目录。
- *2. Loaders.std().load("org/", true); 加载classpath中"org/"目录下的所有资源,而且包括子目录。
+ *1. Loaders.std().load("org/aoju/bus/core/loader"); 加载classpath中"org/aoju/bus/core/loader"目录下的所有资源,但不包括子目录
+ *2. Loaders.std().load("org/", true); 加载classpath中"org/"目录下的所有资源,而且包括子目录
* * @param classLoader 加载器 * @return classpath 资源加载器 @@ -65,11 +65,11 @@ public static Loader std(ClassLoader classLoader) { } /** - * 创建按包名来加载的资源加载器,这是一个委派加载器,自身并没有资源加载逻辑而是委派给实际的资源加载器, - * 在这个创建方法中,实际委派给{@link Loaders#std()}资源加载器。 - * 示例:在{@link Loaders#std()}创建的资源加载器中加载类资源路径表达实际上不太直观,往往采用包名的方式更清晰易懂 - *1. Loaders.pkg().load("io.loadkit"); 加载classpath中"io.loadkit"包下的所有资源,但不包括子包。
- *2. Loaders.pkg().load("io", true); 加载classpath中"io"包下的所有资源,而且包括子子包。
+ * 创建按包名来加载的资源加载器,这是一个委派加载器,自身并没有资源加载逻辑而是委派给实际的资源加载器, + * 在这个创建方法中,实际委派给{@link Loaders#std()}资源加载器 + * 示例:在{@link Loaders#std()}创建的资源加载器中加载类资源路径表达实际上不太直观,往往采用包名的方式更清晰易懂 + *1. Loaders.pkg().load("io.loadkit"); 加载classpath中"io.loadkit"包下的所有资源,但不包括子包
+ *2. Loaders.pkg().load("io", true); 加载classpath中"io"包下的所有资源,而且包括子子包
* * @return 按包名来加载的资源加载器 */ @@ -78,11 +78,11 @@ public static Loader pkg() { } /** - * 创建按包名来加载的资源加载器,这是一个委派加载器,自身并没有资源加载逻辑而是委派给实际的资源加载器, - * 在这个创建方法中,实际委派给{@link Loaders#std(ClassLoader)}资源加载器。 - * 示例:在{@link Loaders#std()}创建的资源加载器中加载类资源路径表达实际上不太直观,往往采用包名的方式更清晰易懂 - *1. Loaders.pkg().load("org.aoju.bus.core.loader"); 加载classpath中"org.aoju.bus.core.loader"包下的所有资源,但不包括子包。
- *2. Loaders.pkg().load("org", true); 加载classpath中"org"包下的所有资源,而且包括子子包。
+ * 创建按包名来加载的资源加载器,这是一个委派加载器,自身并没有资源加载逻辑而是委派给实际的资源加载器, + * 在这个创建方法中,实际委派给{@link Loaders#std(ClassLoader)}资源加载器 + * 示例:在{@link Loaders#std()}创建的资源加载器中加载类资源路径表达实际上不太直观,往往采用包名的方式更清晰易懂 + *1. Loaders.pkg().load("org.aoju.bus.core.loader"); 加载classpath中"org.aoju.bus.core.loader"包下的所有资源,但不包括子包
+ *2. Loaders.pkg().load("org", true); 加载classpath中"org"包下的所有资源,而且包括子子包
* * @param classLoader 加载器 * @return 按包名来加载的资源加载器 @@ -92,12 +92,12 @@ public static Loader pkg(ClassLoader classLoader) { } /** - * 创建按包名来加载的资源加载器,这是一个委派加载器,自身并没有资源加载逻辑而是委派给实际的资源加载器, - * 在这个创建方法中,实际委派给delegate资源加载器。 - * 通过包装一个实际资源加载器可以实现更灵活的加载方式,例如: - *1. Loaders.pkg(Loaders.ant()).load("org.aoju.bus.core.loader.*"); 加载org.aoju.bus.core.loader包下的资源,但不递归加载子包。
- *2. Loaders.pkg(Loaders.ant()).load("org.**"); 加载io包以及子包的资源,而且递归加载任意层次的子包。
- *3. Loaders.pkg(Loaders.ant()).load("org.aoju.bus.core.load???.*"); 加载io包下以load开头并且跟着三个字符的子包的所有资源。
+ * 创建按包名来加载的资源加载器,这是一个委派加载器,自身并没有资源加载逻辑而是委派给实际的资源加载器, + * 在这个创建方法中,实际委派给delegate资源加载器 + * 通过包装一个实际资源加载器可以实现更灵活的加载方式,例如: + *1. Loaders.pkg(Loaders.ant()).load("org.aoju.bus.core.loader.*"); 加载org.aoju.bus.core.loader包下的资源,但不递归加载子包
+ *2. Loaders.pkg(Loaders.ant()).load("org.**"); 加载io包以及子包的资源,而且递归加载任意层次的子包
+ *3. Loaders.pkg(Loaders.ant()).load("org.aoju.bus.core.load???.*"); 加载io包下以load开头并且跟着三个字符的子包的所有资源
* * @param delegate 加载器 * @return 按包名来加载的资源加载器 @@ -107,11 +107,11 @@ public static Loader pkg(Loader delegate) { } /** - * 创建ANT风格路径表达式的资源加载器,这是一个委派加载器,自身并没有资源加载逻辑而是委派给实际的资源加载器, - * 在这个创建方法中,实际委派给{@link Loaders#std()}资源加载器。 + * 创建ANT风格路径表达式的资源加载器,这是一个委派加载器,自身并没有资源加载逻辑而是委派给实际的资源加载器, + * 在这个创建方法中,实际委派给{@link Loaders#std()}资源加载器 * 示例: - *1. Loaders.ant().load("org/aoju/bus/core/loader/*"); 加载org/aoju/bus/core/loader/目录下的资源,但不包括子目录。
- *2. Loaders.ant().load("io/**"); 加载io/目录下的资源以及递归加载所有子目录的资源。
+ *1. Loaders.ant().load("org/aoju/bus/core/loader/*"); 加载org/aoju/bus/core/loader/目录下的资源,但不包括子目录
+ *2. Loaders.ant().load("io/**"); 加载io/目录下的资源以及递归加载所有子目录的资源
*3. Loaders.ant().load("org/aoju/bus/core/loader/*Loader.class"); 加载org/aoju/bus/core/loader/目录下以Loader.class结尾的资源
* * @return 按包名来加载的资源加载器 @@ -121,11 +121,11 @@ public static Loader ant() { } /** - * 创建ANT风格路径表达式的资源加载器,这是一个委派加载器,自身并没有资源加载逻辑而是委派给实际的资源加载器, - * 在这个创建方法中,实际委派给{@link Loaders#std(ClassLoader)}资源加载器。 + * 创建ANT风格路径表达式的资源加载器,这是一个委派加载器,自身并没有资源加载逻辑而是委派给实际的资源加载器, + * 在这个创建方法中,实际委派给{@link Loaders#std(ClassLoader)}资源加载器 * 示例: - *1. Loaders.ant().load("org/aoju/bus/core/loader/*"); 加载org/aoju/bus/core/loader/目录下的资源,但不包括子目录。
- *2. Loaders.ant().load("org/**"); 加载io/目录下的资源以及递归加载所有子目录的资源。
+ *1. Loaders.ant().load("org/aoju/bus/core/loader/*"); 加载org/aoju/bus/core/loader/目录下的资源,但不包括子目录
+ *2. Loaders.ant().load("org/**"); 加载io/目录下的资源以及递归加载所有子目录的资源
*3. Loaders.ant().load("org/aoju/bus/core/loader/*Loader.class"); 加载org/aoju/bus/core/loader/目录下以Loader.class结尾的资源
* * @param classLoader 加载器 @@ -136,11 +136,11 @@ public static Loader ant(ClassLoader classLoader) { } /** - * 创建ANT风格路径表达式的资源加载器,这是一个委派加载器,自身并没有资源加载逻辑而是委派给实际的资源加载器, - * 在这个创建方法中,实际委派给delegate资源加载器。 + * 创建ANT风格路径表达式的资源加载器,这是一个委派加载器,自身并没有资源加载逻辑而是委派给实际的资源加载器, + * 在这个创建方法中,实际委派给delegate资源加载器 * 示例: - *1. Loaders.ant().load("org/aoju/bus/core/loader/*"); 加载org/aoju/bus/core/loader/目录下的资源,但不包括子目录。
- *2. Loaders.ant().load("org/**"); 加载io/目录下的资源以及递归加载所有子目录的资源。
+ *1. Loaders.ant().load("org/aoju/bus/core/loader/*"); 加载org/aoju/bus/core/loader/目录下的资源,但不包括子目录
+ *2. Loaders.ant().load("org/**"); 加载io/目录下的资源以及递归加载所有子目录的资源
*3. Loaders.ant().load("org/aoju/bus/core/loader/*Loader.class"); 加载org/aoju/bus/core/loader/目录下以Loader.class结尾的资源
* * @param delegate 加载器 @@ -151,11 +151,11 @@ public static Loader ant(Loader delegate) { } /** - * 创建正则表达式的资源加载器,这是一个委派加载器,自身并没有资源加载逻辑而是委派给实际的资源加载器, - * 在这个创建方法中,实际委派给{@link Loaders#std()}资源加载器。 + * 创建正则表达式的资源加载器,这是一个委派加载器,自身并没有资源加载逻辑而是委派给实际的资源加载器, + * 在这个创建方法中,实际委派给{@link Loaders#std()}资源加载器 * 示例: - *1. Loaders.regex().load("org/aoju/bus/core/loader/\\w+Loader.class"); 加载org/aoju/bus/core/loader/目录下以Loader.class结尾的资源。
- *2. Loaders.regex().load("org/.*"); 加载io包下所有资源。
+ *1. Loaders.regex().load("org/aoju/bus/core/loader/\\w+Loader.class"); 加载org/aoju/bus/core/loader/目录下以Loader.class结尾的资源
+ *2. Loaders.regex().load("org/.*"); 加载io包下所有资源
* * @return 按包名来加载的资源加载器 */ @@ -164,11 +164,11 @@ public static Loader regex() { } /** - * 创建正则表达式的资源加载器,这是一个委派加载器,自身并没有资源加载逻辑而是委派给实际的资源加载器, - * 在这个创建方法中,实际委派给{@link Loaders#std(ClassLoader)}资源加载器。 + * 创建正则表达式的资源加载器,这是一个委派加载器,自身并没有资源加载逻辑而是委派给实际的资源加载器, + * 在这个创建方法中,实际委派给{@link Loaders#std(ClassLoader)}资源加载器 * 示例: - *1. Loaders.regex().load("org/aoju/bus/core/loader/\\w+Loader.class"); 加载org/aoju/bus/core/loader/目录下以Loader.class结尾的资源。
- *2. Loaders.regex().load("org/.*"); 加载io包下所有资源。
+ *1. Loaders.regex().load("org/aoju/bus/core/loader/\\w+Loader.class"); 加载org/aoju/bus/core/loader/目录下以Loader.class结尾的资源
+ *2. Loaders.regex().load("org/.*"); 加载io包下所有资源
* * @param classLoader 加载器 * @return 按包名来加载的资源加载器 @@ -178,11 +178,11 @@ public static Loader regex(ClassLoader classLoader) { } /** - * 创建正则表达式的资源加载器,这是一个委派加载器,自身并没有资源加载逻辑而是委派给实际的资源加载器, - * 在这个创建方法中,实际委派给delegate资源加载器。 + * 创建正则表达式的资源加载器,这是一个委派加载器,自身并没有资源加载逻辑而是委派给实际的资源加载器, + * 在这个创建方法中,实际委派给delegate资源加载器 * 示例: - *1. Loaders.regex().load("org/aoju/bus/core/loader/\\w+Loader.class"); 加载org/aoju/bus/core/loader/目录下以Loader.class结尾的资源。
- *2. Loaders.regex().load("org/.*"); 加载io包下所有资源。
+ *1. Loaders.regex().load("org/aoju/bus/core/loader/\\w+Loader.class"); 加载org/aoju/bus/core/loader/目录下以Loader.class结尾的资源
+ *2. Loaders.regex().load("org/.*"); 加载io包下所有资源
* * @param delegate 加载器 * @return 按包名来加载的资源加载器 diff --git a/bus-core/src/main/java/org/aoju/bus/core/loader/MixFilter.java b/bus-core/src/main/java/org/aoju/bus/core/loader/MixFilter.java index 08dd92f60e..0cc9884fe7 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/loader/MixFilter.java +++ b/bus-core/src/main/java/org/aoju/bus/core/loader/MixFilter.java @@ -29,7 +29,7 @@ import java.util.Set; /** - * 复合过滤器,实际上内部维护一个过滤器的{@link LinkedHashSet}集合,提供添加/删除以及链式拼接的方法来混合多个子过滤器,该过滤器的具体逻辑由子类拓展。 + * 复合过滤器,实际上内部维护一个过滤器的{@link LinkedHashSet}集合,提供添加/删除以及链式拼接的方法来混合多个子过滤器,该过滤器的具体逻辑由子类拓展 * * @author Kimi Liu * @version 5.2.2 @@ -68,8 +68,8 @@ public boolean remove(Filter filter) { } /** - * 支持采用链式调用的方式混合多个过滤器,其内部调用{@link MixFilter#add(Filter)}且返回this. - * 该方法设计成abstract其用意是强制子类将方法的返回值类型替换成自身类型。 + * 支持采用链式调用的方式混合多个过滤器,其内部调用{@link MixFilter#add(Filter)}且返回this. + * 该方法设计成abstract其用意是强制子类将方法的返回值类型替换成自身类型 * * @param filter 过滤器 * @return this diff --git a/bus-core/src/main/java/org/aoju/bus/core/loader/PatternLoader.java b/bus-core/src/main/java/org/aoju/bus/core/loader/PatternLoader.java index b98940ac44..ef84987bf7 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/loader/PatternLoader.java +++ b/bus-core/src/main/java/org/aoju/bus/core/loader/PatternLoader.java @@ -42,10 +42,10 @@ protected PatternLoader(Loader delegate) { } /** - * 加载匹配模式表达式的所有资源,由于模式表达式中有可能表达了是否递归加载的含义, - * 所以缺省情况下recursively参数会被忽略,取而代之的是{@link PatternLoader#recursively(String)}的返回值, - * 如果字类实现的模式表达式并不能表达是否递归加载的含义,需要重写该方法以满足更多定制化的需求。 - * 另外当filter参数不为null时,由模式表达式推导出的过滤器将会和filter参数混合成一个{@link AllFilter}混合过滤器 + * 加载匹配模式表达式的所有资源,由于模式表达式中有可能表达了是否递归加载的含义, + * 所以缺省情况下recursively参数会被忽略,取而代之的是{@link PatternLoader#recursively(String)}的返回值, + * 如果字类实现的模式表达式并不能表达是否递归加载的含义,需要重写该方法以满足更多定制化的需求 + * 另外当filter参数不为null时,由模式表达式推导出的过滤器将会和filter参数混合成一个{@link AllFilter}混合过滤器 * * @param pattern 模式表达式 * @param recursively 递归加载 diff --git a/bus-core/src/main/java/org/aoju/bus/core/map/CamelCaseLinkedMap.java b/bus-core/src/main/java/org/aoju/bus/core/map/CamelCaseLinkedMap.java index e7c968345b..c23cb88b75 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/map/CamelCaseLinkedMap.java +++ b/bus-core/src/main/java/org/aoju/bus/core/map/CamelCaseLinkedMap.java @@ -5,7 +5,7 @@ /** * 驼峰Key风格的LinkedHashMap - * 对KEY转换为驼峰,get("int_value")和get("intValue")获得的值相同,put进入的值也会被覆盖 + * 对KEY转换为驼峰,get("int_value")和get("intValue")获得的值相同,put进入的值也会被覆盖 * * @param键类型 * @param 值类型 diff --git a/bus-core/src/main/java/org/aoju/bus/core/map/CamelCaseMap.java b/bus-core/src/main/java/org/aoju/bus/core/map/CamelCaseMap.java index 76cbd6a533..12d376e679 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/map/CamelCaseMap.java +++ b/bus-core/src/main/java/org/aoju/bus/core/map/CamelCaseMap.java @@ -7,7 +7,7 @@ /** * 驼峰Key风格的Map - * 对KEY转换为驼峰,get("int_value")和get("intValue")获得的值相同,put进入的值也会被覆盖 + * 对KEY转换为驼峰,get("int_value")和get("intValue")获得的值相同,put进入的值也会被覆盖 * * @param 键类型 * @param 值类型 @@ -64,7 +64,7 @@ public CamelCaseMap(int initialCapacity, float loadFactor) { } /** - * 将Key转为驼峰风格,如果key为字符串的话 + * 将Key转为驼峰风格,如果key为字符串的话 * * @param key KEY * @return 驼峰Key diff --git a/bus-core/src/main/java/org/aoju/bus/core/map/CaseInsensitiveLinkedMap.java b/bus-core/src/main/java/org/aoju/bus/core/map/CaseInsensitiveLinkedMap.java index e0501941e8..da71b6adf7 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/map/CaseInsensitiveLinkedMap.java +++ b/bus-core/src/main/java/org/aoju/bus/core/map/CaseInsensitiveLinkedMap.java @@ -5,7 +5,7 @@ /** * 忽略大小写的LinkedHashMap - * 对KEY忽略大小写,get("Value")和get("value")获得的值相同,put进入的值也会被覆盖 + * 对KEY忽略大小写,get("Value")和get("value")获得的值相同,put进入的值也会被覆盖 * * @param 键类型 * @param 值类型 diff --git a/bus-core/src/main/java/org/aoju/bus/core/map/CaseInsensitiveMap.java b/bus-core/src/main/java/org/aoju/bus/core/map/CaseInsensitiveMap.java index 1a94298e2c..4fdf5aa1e4 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/map/CaseInsensitiveMap.java +++ b/bus-core/src/main/java/org/aoju/bus/core/map/CaseInsensitiveMap.java @@ -5,7 +5,7 @@ /** * 忽略大小写的Map - * 对KEY忽略大小写,get("Value")和get("value")获得的值相同,put进入的值也会被覆盖 + * 对KEY忽略大小写,get("Value")和get("value")获得的值相同,put进入的值也会被覆盖 * * @param 键类型 * @param 值类型 @@ -59,7 +59,7 @@ public CaseInsensitiveMap(float loadFactor, Map extends K, ? extends V> m) { * @param loadFactor 加载因子 */ public CaseInsensitiveMap(int initialCapacity, float loadFactor) { - super(new HashMap (initialCapacity, loadFactor)); + super(new HashMap<>(initialCapacity, loadFactor)); } /** @@ -70,7 +70,7 @@ public CaseInsensitiveMap(int initialCapacity, float loadFactor) { */ @Override protected Object customKey(Object key) { - if (null != key && key instanceof CharSequence) { + if (key instanceof CharSequence) { key = key.toString().toLowerCase(); } return key; diff --git a/bus-core/src/main/java/org/aoju/bus/core/map/CustomKeyMap.java b/bus-core/src/main/java/org/aoju/bus/core/map/CustomKeyMap.java index c5598d0a11..52f5c26de4 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/map/CustomKeyMap.java +++ b/bus-core/src/main/java/org/aoju/bus/core/map/CustomKeyMap.java @@ -3,7 +3,7 @@ import java.util.Map; /** - * 自定义键的Map,默认HashMap实现 + * 自定义键的Map,默认HashMap实现 * * @param 键类型 * @param 值类型 @@ -15,7 +15,7 @@ public abstract class CustomKeyMap extends MapWrapper { /** * 构造 - * 通过传入一个Map从而确定Map的类型,子类需创建一个空的Map,而非传入一个已有Map,否则值可能会被修改 + * 通过传入一个Map从而确定Map的类型,子类需创建一个空的Map,而非传入一个已有Map,否则值可能会被修改 * * @param m Map 被包装的Map * @since 3.1.9 diff --git a/bus-core/src/main/java/org/aoju/bus/core/map/FixedLinkedHashMap.java b/bus-core/src/main/java/org/aoju/bus/core/map/FixedLinkedHashMap.java index 81463fa88a..5c83c396f2 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/map/FixedLinkedHashMap.java +++ b/bus-core/src/main/java/org/aoju/bus/core/map/FixedLinkedHashMap.java @@ -14,14 +14,14 @@ public class FixedLinkedHashMap extends LinkedHashMap { /** - * 容量,超过此容量自动删除末尾元素 + * 容量,超过此容量自动删除末尾元素 */ private int capacity; /** * 构造 * - * @param capacity 容量,实际初始容量比容量大1 + * @param capacity 容量,实际初始容量比容量大1 */ public FixedLinkedHashMap(int capacity) { super(capacity + 1, 1.0f, true); @@ -48,7 +48,7 @@ public void setCapacity(int capacity) { @Override protected boolean removeEldestEntry(java.util.Map.Entry eldest) { - //当链表元素大于容量时,移除最老(最久未被使用)的元素 + //当链表元素大于容量时,移除最老(最久未被使用)的元素 return size() > this.capacity; } diff --git a/bus-core/src/main/java/org/aoju/bus/core/map/MapProxy.java b/bus-core/src/main/java/org/aoju/bus/core/map/MapProxy.java index e239af0c84..0805a428b7 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/map/MapProxy.java +++ b/bus-core/src/main/java/org/aoju/bus/core/map/MapProxy.java @@ -29,7 +29,7 @@ /** - * Map代理,提供各种getXXX方法,并提供默认值支持 + * Map代理,提供各种getXXX方法,并提供默认值支持 * * @author Kimi Liu * @version 5.2.2 @@ -50,7 +50,7 @@ public MapProxy(Map, ?> map) { /** * 创建代理Map - * 此类对Map做一次包装,提供各种getXXX方法 + * 此类对Map做一次包装,提供各种getXXX方法 * * @param map 被代理的Map * @return {@link MapProxy} diff --git a/bus-core/src/main/java/org/aoju/bus/core/map/MapWrapper.java b/bus-core/src/main/java/org/aoju/bus/core/map/MapWrapper.java index 96731c0219..0d385b81c9 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/map/MapWrapper.java +++ b/bus-core/src/main/java/org/aoju/bus/core/map/MapWrapper.java @@ -7,7 +7,7 @@ import java.util.Set; /** - * Map包装类,通过包装一个已有Map实现特定功能。例如自定义Key的规则或Value规则 + * Map包装类,通过包装一个已有Map实现特定功能 例如自定义Key的规则或Value规则 * * @param 键类型 * @param 值类型 diff --git a/bus-core/src/main/java/org/aoju/bus/core/map/multi/CollectionValueMap.java b/bus-core/src/main/java/org/aoju/bus/core/map/multi/CollectionValueMap.java index 6846c84d1b..12da04b1dc 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/map/multi/CollectionValueMap.java +++ b/bus-core/src/main/java/org/aoju/bus/core/map/multi/CollectionValueMap.java @@ -8,7 +8,7 @@ import java.util.Map; /** - * 值作为集合的Map实现,通过调用putValue可以在相同key时加入多个值,多个值用集合表示 + * 值作为集合的Map实现,通过调用putValue可以在相同key时加入多个值,多个值用集合表示 * * @param 键类型 * @param 值类型 @@ -71,7 +71,7 @@ public CollectionValueMap(int initialCapacity, float loadFactor) { /** * 放入Value - * 如果键对应值列表有值,加入,否则创建一个新列表后加入 + * 如果键对应值列表有值,加入,否则创建一个新列表后加入 * * @param key 键 * @param value 值 @@ -89,7 +89,7 @@ public void putValue(K key, V value) { * 获取值 * * @param key 键 - * @param index 第几个值的索引,越界返回null + * @param index 第几个值的索引,越界返回null * @return 值或null */ public V get(K key, int index) { @@ -99,7 +99,7 @@ public V get(K key, int index) { /** * 创建集合 - * 此方法用于创建在putValue后追加值所在的集合,子类实现此方法创建不同类型的集合 + * 此方法用于创建在putValue后追加值所在的集合,子类实现此方法创建不同类型的集合 * * @return {@link Collection} */ diff --git a/bus-core/src/main/java/org/aoju/bus/core/map/multi/ListValueMap.java b/bus-core/src/main/java/org/aoju/bus/core/map/multi/ListValueMap.java index cc705cf416..f51e7ca4f7 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/map/multi/ListValueMap.java +++ b/bus-core/src/main/java/org/aoju/bus/core/map/multi/ListValueMap.java @@ -3,7 +3,7 @@ import java.util.*; /** - * 值作为集合List的Map实现,通过调用putValue可以在相同key时加入多个值,多个值用集合表示 + * 值作为集合List的Map实现,通过调用putValue可以在相同key时加入多个值,多个值用集合表示 * * @param 键类型 * @param 值类型 diff --git a/bus-core/src/main/java/org/aoju/bus/core/map/multi/SetValueMap.java b/bus-core/src/main/java/org/aoju/bus/core/map/multi/SetValueMap.java index f99ba2cbb6..d5bdc4e6ae 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/map/multi/SetValueMap.java +++ b/bus-core/src/main/java/org/aoju/bus/core/map/multi/SetValueMap.java @@ -3,7 +3,7 @@ import java.util.*; /** - * 值作为集合Set(LinkedHashSet)的Map实现,通过调用putValue可以在相同key时加入多个值,多个值用集合表示 + * 值作为集合Set(LinkedHashSet)的Map实现,通过调用putValue可以在相同key时加入多个值,多个值用集合表示 * * @param 键类型 * @param 值类型 diff --git a/bus-core/src/main/java/org/aoju/bus/core/math/Arrangement.java b/bus-core/src/main/java/org/aoju/bus/core/math/Arrangement.java index d750b0a59b..f12e5f2078 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/math/Arrangement.java +++ b/bus-core/src/main/java/org/aoju/bus/core/math/Arrangement.java @@ -51,7 +51,7 @@ public Arrangement(String[] datas) { } /** - * 计算排列数,即A(n, n) = n! + * 计算排列数,即A(n, n) = n! * * @param n 总数 * @return 排列数 @@ -61,7 +61,7 @@ public static long count(int n) { } /** - * 计算排列数,即A(n, m) = n!/(n-m)! + * 计算排列数,即A(n, m) = n!/(n-m)! * * @param n 总数 * @param m 选择的个数 @@ -75,7 +75,7 @@ public static long count(int n, int m) { } /** - * 计算排列总数,即A(n, 1) + A(n, 2) + A(n, 3)... + * 计算排列总数,即A(n, 1) + A(n, 2) + A(n, 3)... * * @param n 总数 * @return 排列数 @@ -110,7 +110,7 @@ public List select(int m) { } /** - * 排列所有组合,即A(n, 1) + A(n, 2) + A(n, 3)... + * 排列所有组合,即A(n, 1) + A(n, 2) + A(n, 3)... * * @return 全排列结果 */ @@ -126,12 +126,12 @@ public List selectAll() { * 排列选择 * * @param resultList 前面(resultIndex-1)个的排列结果 - * @param resultIndex 选择索引,从0开始 + * @param resultIndex 选择索引,从0开始 * @param result 最终结果 */ private void select(String[] resultList, int resultIndex, List result) { int resultLen = resultList.length; - if (resultIndex >= resultLen) { // 全部选择完时,输出排列结果 + if (resultIndex >= resultLen) { // 全部选择完时,输出排列结果 result.add(Arrays.copyOf(resultList, resultList.length)); return; } @@ -146,7 +146,7 @@ private void select(String[] resultList, int resultIndex, List result) break; } } - if (false == exists) { // 排列结果不存在该项,才可选择 + if (false == exists) { // 排列结果不存在该项,才可选择 resultList[resultIndex] = datas[i]; select(resultList, resultIndex + 1, result); } diff --git a/bus-core/src/main/java/org/aoju/bus/core/math/Combination.java b/bus-core/src/main/java/org/aoju/bus/core/math/Combination.java index 0c57efb8a1..24692f2063 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/math/Combination.java +++ b/bus-core/src/main/java/org/aoju/bus/core/math/Combination.java @@ -30,7 +30,7 @@ import java.util.List; /** - * 组合,即C(n, m) + * 组合,即C(n, m) * 排列组合相关类 * * @author Kimi Liu @@ -42,7 +42,7 @@ public class Combination { private String[] datas; /** - * 组合,即C(n, m) + * 组合,即C(n, m) * 排列组合相关类 * * @param datas 用于组合的数据 @@ -52,7 +52,7 @@ public Combination(String[] datas) { } /** - * 计算组合数,即C(n, m) = n!/((n-m)! * m!) + * 计算组合数,即C(n, m) = n!/((n-m)! * m!) * * @param n 总数 * @param m 选择的个数 @@ -69,7 +69,7 @@ public static long count(int n, int m) { } /** - * 计算组合总数,即C(n, 1) + C(n, 2) + C(n, 3)... + * 计算组合总数,即C(n, 1) + C(n, 2) + C(n, 3)... * * @param n 总数 * @return 组合数 @@ -112,13 +112,13 @@ public List selectAll() { * * @param dataIndex 待选开始索引 * @param resultList 前面(resultIndex-1)个的组合结果 - * @param resultIndex 选择索引,从0开始 + * @param resultIndex 选择索引,从0开始 * @param result 待选列表 */ private void select(int dataIndex, String[] resultList, int resultIndex, List result) { int resultLen = resultList.length; int resultCount = resultIndex + 1; - if (resultCount > resultLen) { // 全部选择完时,输出组合结果 + if (resultCount > resultLen) { // 全部选择完时,输出组合结果 result.add(Arrays.copyOf(resultList, resultList.length)); return; } diff --git a/bus-core/src/main/java/org/aoju/bus/core/math/Money.java b/bus-core/src/main/java/org/aoju/bus/core/math/Money.java new file mode 100644 index 0000000000..f11445c8d3 --- /dev/null +++ b/bus-core/src/main/java/org/aoju/bus/core/math/Money.java @@ -0,0 +1,751 @@ +package org.aoju.bus.core.math; + +import org.aoju.bus.core.utils.StringUtils; + +import java.io.File; +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Currency; + +/** + * 单币种货币类,处理货币算术、币种和取整 + * 货币类中封装了货币金额和币种目前金额在内部是long类型表示, + * 单位是所属币种的最小货币单位(对人民币是分) + * 目前,货币实现了以下主要功能: + * + *
+ * + * @author Kimi Liu + * @version 5.2.2 + * @since JDK 1.8+ + */ +public class Money implements Serializable, Comparable- 支持货币对象与double(float)/long(int)/String/BigDecimal之间相互转换 + *
- 货币类在运算中提供与JDK中的BigDecimal类似的运算接口, + * BigDecimal的运算接口支持任意指定精度的运算功能,能够支持各种 + * 可能的财务规则 + *
- 货币类在运算中也提供一组简单运算接口,使用这组运算接口,则在 + * 精度处理上使用缺省的处理规则 + *
- 推荐使用Money,不建议直接使用BigDecimal的原因之一在于, + * 使用BigDecimal,同样金额和币种的货币使用BigDecimal存在多种可能 + * 的表示,例如:new BigDecimal("10.5")与new BigDecimal("10.50") + * 不相等,因为scale不等使得Money类,同样金额和币种的货币只有 + * 一种表示方式,new Money("10.5")和new Money("10.50")应该是相等的 + *
- 不推荐直接使用BigDecimal的另一原因在于, BigDecimal是Immutable, + * 一旦创建就不可更改,对BigDecimal进行任意运算都会生成一个新的 + * BigDecimal对象,因此对于大批量统计的性能不够满意Money类是 + * mutable的,对大批量统计提供较好的支持 + *
- 提供基本的格式化功能 + *
- Money类中不包含与业务相关的统计功能和格式化功能业务相关的功能 + * 建议使用utility类来实现 + *
- Money类实现了Serializable接口,支持作为远程调用的参数和返回值 + *
- Money类实现了equals和hashCode方法 + *
{ + + /** + * 缺省的币种代码,为CNY(人民币) + */ + public static final String DEFAULT_CURRENCY_CODE = "CNY"; + /** + * 缺省的取整模式,为 BigDecimal.ROUND_HALF_EVEN
+ * (四舍五入,当小数为0.5时,则取最近的偶数) + */ + public static final int DEFAULT_ROUNDING_MODE = BigDecimal.ROUND_HALF_EVEN; + private static final long serialVersionUID = -1004117971993390293L; + /** + * 一组可能的元/分换算比例 + * 此处,“分”是指货币的最小单位,“元”是货币的最常用单位, + * 不同的币种有不同的元/分换算比例,如人民币是100,而日元为1 + */ + private static final int[] centFactors = new int[]{1, 10, 100, 1000}; + + /** + * 金额,以分为单位 + */ + private long cent; + + /** + * 币种 + */ + private Currency currency; + + /** + * 缺省构造器 + * 创建一个具有缺省金额(0)和缺省币种的货币对象 + */ + public Money() { + this(0); + } + + /** + * 构造器 + * 创建一个具有金额yuan
元cent
分和缺省币种的货币对象 + * + * @param yuan 金额元数 + * @param cent 金额分数 + */ + public Money(long yuan, int cent) { + this(yuan, cent, Currency.getInstance(DEFAULT_CURRENCY_CODE)); + } + + /** + * 构造器 + * 创建一个具有金额yuan
元cent
分和指定币种的货币对象 + * + * @param yuan 金额元数 + * @param cent 金额分数 + * @param currency 币种 + */ + public Money(long yuan, int cent, Currency currency) { + this.currency = currency; + + this.cent = (yuan * getCentFactor()) + (cent % getCentFactor()); + } + + /** + * 构造器 + * 创建一个具有金额amount
元和缺省币种的货币对象 + * + * @param amount 金额,以元为单位 + */ + public Money(String amount) { + this(amount, Currency.getInstance(DEFAULT_CURRENCY_CODE)); + } + + /** + * 构造器 + * 创建一个具有金额amount
元和指定币种currency
的货币对象 + * + * @param amount 金额,以元为单位 + * @param currency 币种 + */ + public Money(String amount, Currency currency) { + this(new BigDecimal(amount), currency); + } + + /** + * 构造器 + * 创建一个具有金额amount
元和指定币种currency
的货币对象 + * 如果金额不能转换为整数分,则使用指定的取整模式roundingMode
取整 + * + * @param amount 金额,以元为单位 + * @param currency 币种 + * @param roundingMode 取整模式 + */ + public Money(String amount, Currency currency, int roundingMode) { + this(new BigDecimal(amount), currency, roundingMode); + } + + /** + * 构造器 + * 创建一个具有参数amount
指定金额和缺省币种的货币对象 + * 如果金额不能转换为整数分,则使用四舍五入方式取整 + * 注意:由于double类型运算中存在误差,使用四舍五入方式取整的 + * 结果并不确定,因此,应尽量避免使用double类型创建货币类型 + * 例: + *+ * assertEquals(999, Math.round(9.995 * 100)); + * assertEquals(1000, Math.round(999.5)); + * money = new Money((9.995)); + * assertEquals(999, money.getCent()); + * money = new Money(10.005); + * assertEquals(1001, money.getCent()); + *
+ * + * @param amount 金额,以元为单位 + */ + public Money(double amount) { + this(amount, Currency.getInstance(DEFAULT_CURRENCY_CODE)); + } + + /** + * 构造器 + * 创建一个具有金额amount
和指定币种的货币对象 + * 如果金额不能转换为整数分,则使用四舍五入方式取整 + * 注意:由于double类型运算中存在误差,使用四舍五入方式取整的 + * 结果并不确定,因此,应尽量避免使用double类型创建货币类型 + * 例: + *+ * assertEquals(999, Math.round(9.995 * 100)); + * assertEquals(1000, Math.round(999.5)); + * money = new Money((9.995)); + * assertEquals(999, money.getCent()); + * money = new Money(10.005); + * assertEquals(1001, money.getCent()); + *
+ * + * @param amount 金额,以元为单位 + * @param currency 币种 + */ + public Money(double amount, Currency currency) { + this.currency = currency; + this.cent = Math.round(amount * getCentFactor()); + } + + /** + * 构造器 + * 创建一个具有金额amount
和缺省币种的货币对象 + * 如果金额不能转换为整数分,则使用缺省取整模式DEFAULT_ROUNDING_MODE
取整 + * + * @param amount 金额,以元为单位 + */ + public Money(BigDecimal amount) { + this(amount, Currency.getInstance(DEFAULT_CURRENCY_CODE)); + } + + /** + * 构造器 + * 创建一个具有参数amount
指定金额和缺省币种的货币对象 + * 如果金额不能转换为整数分,则使用指定的取整模式roundingMode
取整 + * + * @param amount 金额,以元为单位 + * @param roundingMode 取整模式 + */ + public Money(BigDecimal amount, int roundingMode) { + this(amount, Currency.getInstance(DEFAULT_CURRENCY_CODE), roundingMode); + } + + /** + * 构造器 + * 创建一个具有金额amount
和指定币种的货币对象 + * 如果金额不能转换为整数分,则使用缺省的取整模式DEFAULT_ROUNDING_MODE
进行取整 + * + * @param amount 金额,以元为单位 + * @param currency 币种 + */ + public Money(BigDecimal amount, Currency currency) { + this(amount, currency, DEFAULT_ROUNDING_MODE); + } + + /** + * 构造器 + * 创建一个具有金额amount
和指定币种的货币对象 + * 如果金额不能转换为整数分,则使用指定的取整模式roundingMode
取整 + * + * @param amount 金额,以元为单位 + * @param currency 币种 + * @param roundingMode 取整模式 + */ + public Money(BigDecimal amount, Currency currency, int roundingMode) { + this.currency = currency; + this.cent = rounding(amount.movePointRight(currency.getDefaultFractionDigits()), + roundingMode); + } + + /** + * 获取本货币对象代表的金额数 + * + * @return 金额数, 以元为单位 + */ + public BigDecimal getAmount() { + return BigDecimal.valueOf(cent, currency.getDefaultFractionDigits()); + } + + /** + * 设置本货币对象代表的金额数 + * + * @param amount 金额数,以元为单位 + */ + public void setAmount(BigDecimal amount) { + if (amount != null) { + cent = rounding(amount.movePointRight(2), BigDecimal.ROUND_HALF_EVEN); + } + } + + /** + * 获取本货币对象代表的金额数 + * + * @return 金额数, 以分为单位 + */ + public long getCent() { + return cent; + } + + /** + * 设置货币的分值 + * + * @param cent 分值 + */ + public void setCent(long cent) { + this.cent = cent; + } + + /** + * 获取本货币对象代表的币种 + * + * @return 本货币对象所代表的币种 + */ + public Currency getCurrency() { + return currency; + } + + /** + * 获取本货币币种的元/分换算比率 + * + * @return 本货币币种的元/分换算比率 + */ + public int getCentFactor() { + return centFactors[currency.getDefaultFractionDigits()]; + } + + /** + * 判断本货币对象与另一对象是否相等 + * 货币对象与另一对象相等的充分必要条件是: + *+ *
+ * + * @param other 待比较的另一对象 + * @return- 另一对象也属货币对象类 + *
- 金额相同 + *
- 币种相同 + *
true
表示相等,false
表示不相等 + * @see java.lang.Object#equals(java.lang.Object) + */ + @Override + public boolean equals(Object other) { + return (other instanceof Money) && equals((Money) other); + } + + /** + * 判断本货币对象与另一货币对象是否相等 + * 货币对象与另一货币对象相等的充分必要条件是: + *+ *
+ * + * @param other 待比较的另一货币对象 + * @return- 金额相同 + *
- 币种相同 + *
true
表示相等,false
表示不相等 + */ + public boolean equals(Money other) { + return currency.equals(other.currency) && (cent == other.cent); + } + + /** + * 计算本货币对象的杂凑值 + * + * @return 本货币对象的杂凑值 + * @see java.lang.Object#hashCode() + */ + @Override + public int hashCode() { + return (int) (cent ^ (cent >>> 32)); + } + + /** + * 货币比较 + * 比较本货币对象与另一货币对象的大小 + * 如果待比较的两个货币对象的币种不同,则抛出java.lang.IllegalArgumentException
+ * 如果本货币对象的金额少于待比较货币对象,则返回-1 + * 如果本货币对象的金额等于待比较货币对象,则返回0 + * 如果本货币对象的金额大于待比较货币对象,则返回1 + * + * @param other 另一对象 + * @return -1表示小于,0表示等于,1表示大于 + * @throws IllegalArgumentException 待比较货币对象与本货币对象的币种不同 + */ + @Override + public int compareTo(Money other) { + assertSameCurrencyAs(other); + return Long.compare(cent, other.cent); + } + + /** + * 货币比较 + * 判断本货币对象是否大于另一货币对象 + * 如果待比较的两个货币对象的币种不同,则抛出java.lang.IllegalArgumentException
+ * 如果本货币对象的金额大于待比较货币对象,则返回true,否则返回false + * + * @param other 另一对象 + * @return true表示大于, false表示不大于(小于等于) + * @throws IllegalArgumentException 待比较货币对象与本货币对象的币种不同 + */ + public boolean greaterThan(Money other) { + return compareTo(other) > 0; + } + + /** + * 货币加法 + * 如果两货币币种相同,则返回一个新的相同币种的货币对象,其金额为 + * 两货币对象金额之和,本货币对象的值不变 + * 如果两货币对象币种不同,抛出java.lang.IllegalArgumentException
+ * + * @param other 作为加数的货币对象 + * @return 相加后的结果 + * @throws IllegalArgumentException 如果本货币对象与另一货币对象币种不同 + */ + public Money add(Money other) { + assertSameCurrencyAs(other); + + return newMoneyWithSameCurrency(cent + other.cent); + } + + /** + * 货币累加 + * 如果两货币币种相同,则本货币对象的金额等于两货币对象金额之和,并返回本货币对象的引用 + * 如果两货币对象币种不同,抛出java.lang.IllegalArgumentException
+ * + * @param other 作为加数的货币对象 + * @return 累加后的本货币对象 + * @throws IllegalArgumentException 如果本货币对象与另一货币对象币种不同 + */ + public Money addTo(Money other) { + assertSameCurrencyAs(other); + + this.cent += other.cent; + + return this; + } + + /** + * 货币减法 + * 如果两货币币种相同,则返回一个新的相同币种的货币对象,其金额为 + * 本货币对象的金额减去参数货币对象的金额本货币对象的值不变 + * 如果两货币币种不同,抛出java.lang.IllegalArgumentException
+ * + * @param other 作为减数的货币对象 + * @return 相减后的结果 + * @throws IllegalArgumentException 如果本货币对象与另一货币对象币种不同 + */ + public Money subtract(Money other) { + assertSameCurrencyAs(other); + + return newMoneyWithSameCurrency(cent - other.cent); + } + + /** + * 货币累减 + * 如果两货币币种相同,则本货币对象的金额等于两货币对象金额之差,并返回本货币对象的引用 + * 如果两货币币种不同,抛出java.lang.IllegalArgumentException
+ * + * @param other 作为减数的货币对象 + * @return 累减后的本货币对象 + * @throws IllegalArgumentException 如果本货币对象与另一货币对象币种不同 + */ + public Money subtractFrom(Money other) { + assertSameCurrencyAs(other); + + this.cent -= other.cent; + + return this; + } + + /** + * 货币乘法 + * 返回一个新的货币对象,币种与本货币对象相同,金额为本货币对象的金额乘以乘数 + * 本货币对象的值不变 + * + * @param val 乘数 + * @return 乘法后的结果 + */ + public Money multiply(long val) { + return newMoneyWithSameCurrency(cent * val); + } + + /** + * 货币累乘 + * 本货币对象金额乘以乘数,并返回本货币对象 + * + * @param val 乘数 + * @return 累乘后的本货币对象 + */ + public Money multiplyBy(long val) { + this.cent *= val; + + return this; + } + + /** + * 货币乘法 + * 返回一个新的货币对象,币种与本货币对象相同,金额为本货币对象的金额乘以乘数 + * 本货币对象的值不变如果相乘后的金额不能转换为整数分,则四舍五入 + * + * @param val 乘数 + * @return 相乘后的结果 + */ + public Money multiply(double val) { + return newMoneyWithSameCurrency(Math.round(cent * val)); + } + + /** + * 货币累乘 + * 本货币对象金额乘以乘数,并返回本货币对象 + * 如果相乘后的金额不能转换为整数分,则使用四舍五入 + * + * @param val 乘数 + * @return 累乘后的本货币对象 + */ + public Money multiplyBy(double val) { + this.cent = Math.round(this.cent * val); + + return this; + } + + /** + * 货币乘法 + * 返回一个新的货币对象,币种与本货币对象相同,金额为本货币对象的金额乘以乘数 + * 本货币对象的值不变如果相乘后的金额不能转换为整数分,使用缺省的取整模式 + *DEFUALT_ROUNDING_MODE
进行取整 + * + * @param val 乘数 + * @return 相乘后的结果 + */ + public Money multiply(BigDecimal val) { + return multiply(val, DEFAULT_ROUNDING_MODE); + } + + /** + * 货币累乘 + * 本货币对象金额乘以乘数,并返回本货币对象 + * 如果相乘后的金额不能转换为整数分,使用缺省的取整方式 + *DEFUALT_ROUNDING_MODE
进行取整 + * + * @param val 乘数 + * @return 累乘后的结果 + */ + public Money multiplyBy(BigDecimal val) { + return multiplyBy(val, DEFAULT_ROUNDING_MODE); + } + + /** + * 货币乘法 + * 返回一个新的货币对象,币种与本货币对象相同,金额为本货币对象的金额乘以乘数 + * 本货币对象的值不变如果相乘后的金额不能转换为整数分,使用指定的取整方式 + *roundingMode
进行取整 + * + * @param val 乘数 + * @param roundingMode 取整方式 + * @return 相乘后的结果 + */ + public Money multiply(BigDecimal val, int roundingMode) { + BigDecimal newCent = BigDecimal.valueOf(cent).multiply(val); + + return newMoneyWithSameCurrency(rounding(newCent, roundingMode)); + } + + /** + * 货币累乘 + * 本货币对象金额乘以乘数,并返回本货币对象 + * 如果相乘后的金额不能转换为整数分,使用指定的取整方式 + *roundingMode
进行取整 + * + * @param val 乘数 + * @param roundingMode 取整方式 + * @return 累乘后的结果 + */ + public Money multiplyBy(BigDecimal val, int roundingMode) { + BigDecimal newCent = BigDecimal.valueOf(cent).multiply(val); + + this.cent = rounding(newCent, roundingMode); + + return this; + } + + /** + * 货币除法 + * 返回一个新的货币对象,币种与本货币对象相同,金额为本货币对象的金额除以除数 + * 本货币对象的值不变如果相除后的金额不能转换为整数分,使用四舍五入方式取整 + * + * @param val 除数 + * @return 相除后的结果 + */ + public Money divide(double val) { + return newMoneyWithSameCurrency(Math.round(cent / val)); + } + + /** + * 货币累除 + * 本货币对象金额除以除数,并返回本货币对象 + * 如果相除后的金额不能转换为整数分,使用四舍五入方式取整 + * + * @param val 除数 + * @return 累除后的结果 + */ + public Money divideBy(double val) { + this.cent = Math.round(this.cent / val); + + return this; + } + + /** + * 货币除法 + * 返回一个新的货币对象,币种与本货币对象相同,金额为本货币对象的金额除以除数 + * 本货币对象的值不变如果相除后的金额不能转换为整数分,使用缺省的取整模式 + *DEFAULT_ROUNDING_MODE
进行取整 + * + * @param val 除数 + * @return 相除后的结果 + */ + public Money divide(BigDecimal val) { + return divide(val, DEFAULT_ROUNDING_MODE); + } + + /** + * 货币除法 + * 返回一个新的货币对象,币种与本货币对象相同,金额为本货币对象的金额除以除数 + * 本货币对象的值不变如果相除后的金额不能转换为整数分,使用指定的取整模式 + *roundingMode
进行取整 + * + * @param val 除数 + * @param roundingMode 取整 + * @return 相除后的结果 + */ + public Money divide(BigDecimal val, int roundingMode) { + BigDecimal newCent = BigDecimal.valueOf(cent).divide(val, roundingMode); + + return newMoneyWithSameCurrency(newCent.longValue()); + } + + /** + * 货币累除 + * 本货币对象金额除以除数,并返回本货币对象 + * 如果相除后的金额不能转换为整数分,使用缺省的取整模式 + *DEFAULT_ROUNDING_MODE
进行取整 + * + * @param val 除数 + * @return 累除后的结果 + */ + public Money divideBy(BigDecimal val) { + return divideBy(val, DEFAULT_ROUNDING_MODE); + } + + /** + * 货币累除 + * 本货币对象金额除以除数,并返回本货币对象 + * 如果相除后的金额不能转换为整数分,使用指定的取整模式 + *roundingMode
进行取整 + * + * @param val 除数 + * @param roundingMode 模型 + * @return 累除后的结果 + */ + public Money divideBy(BigDecimal val, int roundingMode) { + BigDecimal newCent = BigDecimal.valueOf(cent).divide(val, roundingMode); + + this.cent = newCent.longValue(); + + return this; + } + + /** + * 货币分配 + * 将本货币对象尽可能平均分配成targets
份 + * 如果不能平均分配尽,则将零头放到开始的若干份中分配 + * 运算能够确保不会丢失金额零头 + * + * @param targets 待分配的份数 + * @return 货币对象数组, 数组的长度与分配份数相同, 数组元素 + * 从大到小排列,所有货币对象的金额最多只相差1分 + */ + public Money[] allocate(int targets) { + Money[] results = new Money[targets]; + + Money lowResult = newMoneyWithSameCurrency(cent / targets); + Money highResult = newMoneyWithSameCurrency(lowResult.cent + 1); + + int remainder = (int) cent % targets; + + for (int i = 0; i < remainder; i++) { + results[i] = highResult; + } + + for (int i = remainder; i < targets; i++) { + results[i] = lowResult; + } + + return results; + } + + /** + * 货币分配 + * 将本货币对象按照规定的比例分配成若干份分配所剩的零头 + * 从第一份开始顺序分配分配运算确保不会丢失金额零头 + * + * @param ratios 分配比例数组,每一个比例是一个长整型,代表 + * 相对于总数的相对数 + * @return 货币对象数组, 数组的长度与分配比例数组的长度相同 + */ + public Money[] allocate(long[] ratios) { + Money[] results = new Money[ratios.length]; + + long total = 0; + + for (int i = 0; i < ratios.length; i++) { + total += ratios[i]; + } + + long remainder = cent; + + for (int i = 0; i < results.length; i++) { + results[i] = newMoneyWithSameCurrency((cent * ratios[i]) / total); + remainder -= results[i].cent; + } + + for (int i = 0; i < remainder; i++) { + results[i].cent++; + } + + return results; + } + + /** + * 生成本对象的缺省字符串表示 + */ + public String toString() { + return getAmount().toString(); + } + + /** + * 断言本货币对象与另一货币对象是否具有相同的币种 + * 如果本货币对象与另一货币对象具有相同的币种,则方法返回 + * 否则抛出运行时异常java.lang.IllegalArgumentException
+ * + * @param other 另一货币对象 + * @throws IllegalArgumentException 如果本货币对象与另一货币对象币种不同 + */ + protected void assertSameCurrencyAs(Money other) { + if (!currency.equals(other.currency)) { + throw new IllegalArgumentException("Money math currency mismatch."); + } + } + + /** + * 对BigDecimal型的值按指定取整方式取整 + * + * @param val 待取整的BigDecimal值 + * @param roundingMode 取整方式 + * @return 取整后的long型值 + */ + protected long rounding(BigDecimal val, int roundingMode) { + return val.setScale(0, roundingMode).longValue(); + } + + /** + * 创建一个币种相同,具有指定金额的货币对象 + * + * @param cent 金额,以分为单位 + * @return 一个新建的币种相同, 具有指定金额的货币对象 + */ + protected Money newMoneyWithSameCurrency(long cent) { + Money money = new Money(0, currency); + + money.cent = cent; + + return money; + } + + /** + * 生成本对象内部变量的字符串表示,用于调试 + * + * @return 本对象内部变量的字符串表示 + */ + public String dump() { + return StringUtils.builder() + .append("cent = ") + .append(this.cent) + .append(File.separatorChar) + .append("currency = ") + .append(this.currency) + .toString(); + } + +} \ No newline at end of file diff --git a/bus-core/src/main/java/org/aoju/bus/core/swing/ClipboardListener.java b/bus-core/src/main/java/org/aoju/bus/core/swing/ClipboardListener.java index 0523a036b8..88a6b29228 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/swing/ClipboardListener.java +++ b/bus-core/src/main/java/org/aoju/bus/core/swing/ClipboardListener.java @@ -5,7 +5,7 @@ /** * 剪贴板监听事件处理接口
- * 用户通过实现此接口,实现监听剪贴板内容变化 + * 用户通过实现此接口,实现监听剪贴板内容变化 * * @author Kimi Liu * @version 5.2.2 @@ -15,11 +15,11 @@ public interface ClipboardListener { /** * 剪贴板变动触发的事件方法
- * 在此事件中对剪贴板设置值无效,如若修改,需返回修改内容 + * 在此事件中对剪贴板设置值无效,如若修改,需返回修改内容 * * @param clipboard 剪贴板对象 * @param contents 内容 - * @return 如果对剪贴板内容做修改,则返回修改的内容,{@code null}表示保留原内容 + * @return 如果对剪贴板内容做修改, 则返回修改的内容,{@code null}表示保留原内容 */ Transferable onChange(Clipboard clipboard, Transferable contents); diff --git a/bus-core/src/main/java/org/aoju/bus/core/swing/ClipboardMonitor.java b/bus-core/src/main/java/org/aoju/bus/core/swing/ClipboardMonitor.java index a001295c2a..ab8c2d9ad6 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/swing/ClipboardMonitor.java +++ b/bus-core/src/main/java/org/aoju/bus/core/swing/ClipboardMonitor.java @@ -52,7 +52,7 @@ public enum ClipboardMonitor implements ClipboardOwner, Runnable, Closeable { private boolean isRunning; /** - * 构造,尝试获取剪贴板内容的次数为10,第二次之后延迟100毫秒 + * 构造,尝试获取剪贴板内容的次数为10,第二次之后延迟100毫秒 */ ClipboardMonitor() { this(DEFAULT_TRY_COUNT, DEFAULT_DELAY); @@ -62,7 +62,7 @@ public enum ClipboardMonitor implements ClipboardOwner, Runnable, Closeable { * 构造 * * @param tryCount 尝试获取剪贴板内容的次数 - * @param delay 响应延迟,当从第二次开始,延迟一定毫秒数等待剪贴板可以获取,当tryCount小于2时无效 + * @param delay 响应延迟,当从第二次开始,延迟一定毫秒数等待剪贴板可以获取,当tryCount小于2时无效 */ ClipboardMonitor(int tryCount, long delay) { this(tryCount, delay, ClipboardUtils.getClipboard()); @@ -72,7 +72,7 @@ public enum ClipboardMonitor implements ClipboardOwner, Runnable, Closeable { * 构造 * * @param tryCount 尝试获取剪贴板内容的次数 - * @param delay 响应延迟,当从第二次开始,延迟一定毫秒数等待剪贴板可以获取,当tryCount小于2时无效 + * @param delay 响应延迟,当从第二次开始,延迟一定毫秒数等待剪贴板可以获取,当tryCount小于2时无效 * @param clipboard 剪贴板对象 */ ClipboardMonitor(int tryCount, long delay, Clipboard clipboard) { @@ -150,7 +150,7 @@ public void lostOwnership(Clipboard clipboard, Transferable contents) { try { transferable = listener.onChange(clipboard, ObjectUtils.defaultIfNull(transferable, newContents)); } catch (Throwable e) { - // 忽略事件处理异常,保证所有监听正常执行 + // 忽略事件处理异常,保证所有监听正常执行 } } @@ -193,7 +193,7 @@ public void close() { * 尝试获取剪贴板内容 * * @param clipboard 剪贴板 - * @return 剪贴板内容,{@code null} 表示未获取到 + * @return 剪贴板内容,{@code null} 表示未获取到 * @throws InterruptedException 线程中断 */ private Transferable tryGetContent(Clipboard clipboard) throws InterruptedException { diff --git a/bus-core/src/main/java/org/aoju/bus/core/swing/ImageSelection.java b/bus-core/src/main/java/org/aoju/bus/core/swing/ImageSelection.java index 4f4f0326da..fffce572e7 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/swing/ImageSelection.java +++ b/bus-core/src/main/java/org/aoju/bus/core/swing/ImageSelection.java @@ -8,7 +8,7 @@ import java.io.Serializable; /** - * 图片转换器,用于将图片对象转换为剪贴板支持的对象
+ * 图片转换器,用于将图片对象转换为剪贴板支持的对象
* 此对象也用于将图像文件和{@link DataFlavor#imageFlavor} 元信息对应 * * @author Kimi Liu diff --git a/bus-core/src/main/java/org/aoju/bus/core/swing/StringListener.java b/bus-core/src/main/java/org/aoju/bus/core/swing/StringListener.java index 16c107d78d..5c2e5dfe39 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/swing/StringListener.java +++ b/bus-core/src/main/java/org/aoju/bus/core/swing/StringListener.java @@ -28,11 +28,11 @@ public Transferable onChange(Clipboard clipboard, Transferable contents) { /** * 剪贴板变动触发的事件方法
- * 在此事件中对剪贴板设置值无效,如若修改,需返回修改内容 + * 在此事件中对剪贴板设置值无效,如若修改,需返回修改内容 * * @param clipboard 剪贴板对象 * @param contents 内容 - * @return 如果对剪贴板内容做修改,则返回修改的内容,{@code null}表示保留原内容 + * @return 如果对剪贴板内容做修改, 则返回修改的内容,{@code null}表示保留原内容 */ public abstract Transferable onChange(Clipboard clipboard, String contents); diff --git a/bus-core/src/main/java/org/aoju/bus/core/text/Simhash.java b/bus-core/src/main/java/org/aoju/bus/core/text/Simhash.java index 459287376d..efbb5e184d 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/text/Simhash.java +++ b/bus-core/src/main/java/org/aoju/bus/core/text/Simhash.java @@ -7,10 +7,10 @@ import java.util.concurrent.locks.ReentrantReadWriteLock; /** - * 局部敏感hash,用于海量文本去重 + * 局部敏感hash,用于海量文本去重 * *- * 局部敏感hash定义:假定两个字符串具有一定的相似性,在hash之后,仍然能保持这种相似性,就称之为局部敏感hash。 + * 局部敏感hash定义:假定两个字符串具有一定的相似性,在hash之后,仍然能保持这种相似性,就称之为局部敏感hash *
* * @author Kimi Liu @@ -21,17 +21,17 @@ public class Simhash { private final int bitNum = 64; /** - * 存储段数,默认按照4段进行simhash存储 + * 存储段数,默认按照4段进行simhash存储 */ private final int fracCount; private final int fracBitNum; /** - * 汉明距离的衡量标准,小于此距离标准表示相似 + * 汉明距离的衡量标准,小于此距离标准表示相似 */ private final int hammingThresh; /** - * 按照分段存储simhash,查找更快速 + * 按照分段存储simhash,查找更快速 */ private List