mirror of
https://gitee.com/chinabugotech/hutool.git
synced 2025-04-19 03:01:48 +08:00
fix comment
This commit is contained in:
parent
3acf9c4e70
commit
522ed4308d
@ -10,7 +10,7 @@ import cn.hutool.core.util.HashUtil;
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* BloomFilter实现方式2,此方式使用BitSet存储。<br>
|
* BloomFilter实现方式2,此方式使用BitSet存储。<br>
|
||||||
* Hash算法的使用使用固定顺序,只需指定个数既可
|
* Hash算法的使用使用固定顺序,只需指定个数即可
|
||||||
* @author loolly
|
* @author loolly
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
@ -33,7 +33,7 @@ public class Base62Codec implements Serializable{
|
|||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 反转风格,既将GMP风格中的大小写做转换
|
* 反转风格,即将GMP风格中的大小写做转换
|
||||||
*/
|
*/
|
||||||
private static final byte[] INVERTED = { //
|
private static final byte[] INVERTED = { //
|
||||||
'0', '1', '2', '3', '4', '5', '6', '7', //
|
'0', '1', '2', '3', '4', '5', '6', '7', //
|
||||||
|
@ -244,7 +244,7 @@ public class CollUtil {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 其中一个集合在另一个集合中是否至少包含一个元素,既是两个集合是否至少有一个共同的元素
|
* 其中一个集合在另一个集合中是否至少包含一个元素,即是两个集合是否至少有一个共同的元素
|
||||||
*
|
*
|
||||||
* @param coll1 集合1
|
* @param coll1 集合1
|
||||||
* @param coll2 集合2
|
* @param coll2 集合2
|
||||||
@ -273,7 +273,7 @@ public class CollUtil {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 集合1中是否包含集合2中所有的元素,既集合2是否为集合1的子集
|
* 集合1中是否包含集合2中所有的元素,即集合2是否为集合1的子集
|
||||||
*
|
*
|
||||||
* @param coll1 集合1
|
* @param coll1 集合1
|
||||||
* @param coll2 集合2
|
* @param coll2 集合2
|
||||||
|
@ -10,7 +10,7 @@ import cn.hutool.core.util.StrUtil;
|
|||||||
/**
|
/**
|
||||||
* 版本比较器<br>
|
* 版本比较器<br>
|
||||||
* 比较两个版本的大小<br>
|
* 比较两个版本的大小<br>
|
||||||
* 排序时版本从小到大排序,既比较时小版本在前,大版本在后<br>
|
* 排序时版本从小到大排序,即比较时小版本在前,大版本在后<br>
|
||||||
* 支持如:1.3.20.8,6.82.20160101,8.5a/8.5c等版本形式<br>
|
* 支持如:1.3.20.8,6.82.20160101,8.5a/8.5c等版本形式<br>
|
||||||
* 参考:https://www.cnblogs.com/shihaiming/p/6286575.html
|
* 参考:https://www.cnblogs.com/shihaiming/p/6286575.html
|
||||||
*
|
*
|
||||||
@ -32,7 +32,7 @@ public class VersionComparator implements Comparator<String>, Serializable {
|
|||||||
// -----------------------------------------------------------------------------------------------------
|
// -----------------------------------------------------------------------------------------------------
|
||||||
/**
|
/**
|
||||||
* 比较两个版本<br>
|
* 比较两个版本<br>
|
||||||
* null版本排在最小:既:
|
* null版本排在最小:即:
|
||||||
* <pre>
|
* <pre>
|
||||||
* compare(null, "v1") < 0
|
* compare(null, "v1") < 0
|
||||||
* compare("v1", "v1") = 0
|
* compare("v1", "v1") = 0
|
||||||
|
@ -33,7 +33,7 @@ public class DateModifier {
|
|||||||
* 修改日期
|
* 修改日期
|
||||||
*
|
*
|
||||||
* @param calendar {@link Calendar}
|
* @param calendar {@link Calendar}
|
||||||
* @param dateField 日期字段,既保留到哪个日期字段
|
* @param dateField 日期字段,即保留到哪个日期字段
|
||||||
* @param modifyType 修改类型,包括舍去、四舍五入、进一等
|
* @param modifyType 修改类型,包括舍去、四舍五入、进一等
|
||||||
* @return 修改后的{@link Calendar}
|
* @return 修改后的{@link Calendar}
|
||||||
*/
|
*/
|
||||||
|
@ -908,7 +908,7 @@ public class DateUtil {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取秒级别的开始时间,既忽略毫秒部分
|
* 获取秒级别的开始时间,即忽略毫秒部分
|
||||||
*
|
*
|
||||||
* @param date 日期
|
* @param date 日期
|
||||||
* @return {@link DateTime}
|
* @return {@link DateTime}
|
||||||
@ -919,7 +919,7 @@ public class DateUtil {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取秒级别的结束时间,既毫秒设置为999
|
* 获取秒级别的结束时间,即毫秒设置为999
|
||||||
*
|
*
|
||||||
* @param date 日期
|
* @param date 日期
|
||||||
* @return {@link DateTime}
|
* @return {@link DateTime}
|
||||||
@ -930,7 +930,7 @@ public class DateUtil {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取秒级别的开始时间,既忽略毫秒部分
|
* 获取秒级别的开始时间,即忽略毫秒部分
|
||||||
*
|
*
|
||||||
* @param calendar 日期 {@link Calendar}
|
* @param calendar 日期 {@link Calendar}
|
||||||
* @return {@link Calendar}
|
* @return {@link Calendar}
|
||||||
@ -941,7 +941,7 @@ public class DateUtil {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取秒级别的结束时间,既毫秒设置为999
|
* 获取秒级别的结束时间,即毫秒设置为999
|
||||||
*
|
*
|
||||||
* @param calendar 日期 {@link Calendar}
|
* @param calendar 日期 {@link Calendar}
|
||||||
* @return {@link Calendar}
|
* @return {@link Calendar}
|
||||||
|
@ -1582,7 +1582,7 @@ public class FileUtil {
|
|||||||
String element;
|
String element;
|
||||||
for (int i = pathList.size() - 1; i >= 0; i--) {
|
for (int i = pathList.size() - 1; i >= 0; i--) {
|
||||||
element = pathList.get(i);
|
element = pathList.get(i);
|
||||||
// 只处理非.的目录,既只处理非当前目录
|
// 只处理非.的目录,即只处理非当前目录
|
||||||
if (false == StrUtil.DOT.equals(element)) {
|
if (false == StrUtil.DOT.equals(element)) {
|
||||||
if (StrUtil.DOUBLE_DOT.equals(element)) {
|
if (StrUtil.DOUBLE_DOT.equals(element)) {
|
||||||
tops++;
|
tops++;
|
||||||
|
@ -4,7 +4,7 @@ import java.io.IOException;
|
|||||||
import java.io.OutputStream;
|
import java.io.OutputStream;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 此OutputStream写出数据到<b>/dev/null</b>,既忽略所有数据<br>
|
* 此OutputStream写出数据到<b>/dev/null</b>,即忽略所有数据<br>
|
||||||
* 来自 Apache Commons io
|
* 来自 Apache Commons io
|
||||||
*
|
*
|
||||||
* @author looly
|
* @author looly
|
||||||
|
@ -226,7 +226,7 @@ public class Assert {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 断言给定字符串是否不被另一个字符串包含(既是否为子串)
|
* 断言给定字符串是否不被另一个字符串包含(即是否为子串)
|
||||||
*
|
*
|
||||||
* <pre class="code">
|
* <pre class="code">
|
||||||
* Assert.doesNotContain(name, "rod", "Name must not contain 'rod'");
|
* Assert.doesNotContain(name, "rod", "Name must not contain 'rod'");
|
||||||
@ -247,7 +247,7 @@ public class Assert {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 断言给定字符串是否不被另一个字符串包含(既是否为子串)
|
* 断言给定字符串是否不被另一个字符串包含(即是否为子串)
|
||||||
*
|
*
|
||||||
* <pre class="code">
|
* <pre class="code">
|
||||||
* Assert.doesNotContain(name, "rod", "Name must not contain 'rod'");
|
* Assert.doesNotContain(name, "rod", "Name must not contain 'rod'");
|
||||||
|
@ -187,7 +187,7 @@ public class Range<T> implements Iterable<T>, Iterator<T>, Serializable {
|
|||||||
* 步进接口可以定义以下逻辑:
|
* 步进接口可以定义以下逻辑:
|
||||||
*
|
*
|
||||||
* <pre>
|
* <pre>
|
||||||
* 1、步进规则,既对象如何做步进
|
* 1、步进规则,即对象如何做步进
|
||||||
* 2、步进大小,通过实现此接口,在实现类中定义一个对象属性,可灵活定义步进大小
|
* 2、步进大小,通过实现此接口,在实现类中定义一个对象属性,可灵活定义步进大小
|
||||||
* 3、限制range个数,通过实现此接口,在实现类中定义一个对象属性,可灵活定义limit,限制range个数
|
* 3、限制range个数,通过实现此接口,在实现类中定义一个对象属性,可灵活定义limit,限制range个数
|
||||||
* </pre>
|
* </pre>
|
||||||
|
@ -8,7 +8,7 @@ package cn.hutool.core.text.escape;
|
|||||||
class InternalEscapeUtil {
|
class InternalEscapeUtil {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 将数组中的0和1位置的值互换,既键值转换
|
* 将数组中的0和1位置的值互换,即键值转换
|
||||||
*
|
*
|
||||||
* @param array String[][] 被转换的数组
|
* @param array String[][] 被转换的数组
|
||||||
* @return String[][] 转换后的数组
|
* @return String[][] 转换后的数组
|
||||||
|
@ -25,13 +25,13 @@ public class ExecutorBuilder implements Builder<ThreadPoolExecutor> {
|
|||||||
private int corePoolSize;
|
private int corePoolSize;
|
||||||
/** 最大池大小(允许同时执行的最大线程数) */
|
/** 最大池大小(允许同时执行的最大线程数) */
|
||||||
private int maxPoolSize = Integer.MAX_VALUE;
|
private int maxPoolSize = Integer.MAX_VALUE;
|
||||||
/** 线程存活时间,既当池中线程多于初始大小时,多出的线程保留的时长 */
|
/** 线程存活时间,即当池中线程多于初始大小时,多出的线程保留的时长 */
|
||||||
private long keepAliveTime = TimeUnit.SECONDS.toNanos(60);
|
private long keepAliveTime = TimeUnit.SECONDS.toNanos(60);
|
||||||
/** 队列,用于存在未执行的线程 */
|
/** 队列,用于存在未执行的线程 */
|
||||||
private BlockingQueue<Runnable> workQueue;
|
private BlockingQueue<Runnable> workQueue;
|
||||||
/** 线程工厂,用于自定义线程创建 */
|
/** 线程工厂,用于自定义线程创建 */
|
||||||
private ThreadFactory threadFactory;
|
private ThreadFactory threadFactory;
|
||||||
/** 当线程阻塞(block)时的异常处理器,所谓线程阻塞既线程池和等待队列已满,无法处理线程时采取的策略 */
|
/** 当线程阻塞(block)时的异常处理器,所谓线程阻塞即线程池和等待队列已满,无法处理线程时采取的策略 */
|
||||||
private RejectedExecutionHandler handler;
|
private RejectedExecutionHandler handler;
|
||||||
/** 线程执行超时后是否回收线程 */
|
/** 线程执行超时后是否回收线程 */
|
||||||
private Boolean allowCoreThreadTimeOut;
|
private Boolean allowCoreThreadTimeOut;
|
||||||
@ -59,7 +59,7 @@ public class ExecutorBuilder implements Builder<ThreadPoolExecutor> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 设置线程存活时间,既当池中线程多于初始大小时,多出的线程保留的时长
|
* 设置线程存活时间,即当池中线程多于初始大小时,多出的线程保留的时长
|
||||||
*
|
*
|
||||||
* @param keepAliveTime 线程存活时间
|
* @param keepAliveTime 线程存活时间
|
||||||
* @param unit 单位
|
* @param unit 单位
|
||||||
@ -70,7 +70,7 @@ public class ExecutorBuilder implements Builder<ThreadPoolExecutor> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 设置线程存活时间,既当池中线程多于初始大小时,多出的线程保留的时长,单位纳秒
|
* 设置线程存活时间,即当池中线程多于初始大小时,多出的线程保留的时长,单位纳秒
|
||||||
*
|
*
|
||||||
* @param keepAliveTime 线程存活时间,单位纳秒
|
* @param keepAliveTime 线程存活时间,单位纳秒
|
||||||
* @return this
|
* @return this
|
||||||
@ -134,7 +134,7 @@ public class ExecutorBuilder implements Builder<ThreadPoolExecutor> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 设置当线程阻塞(block)时的异常处理器,所谓线程阻塞既线程池和等待队列已满,无法处理线程时采取的策略
|
* 设置当线程阻塞(block)时的异常处理器,所谓线程阻塞即线程池和等待队列已满,无法处理线程时采取的策略
|
||||||
* <p>
|
* <p>
|
||||||
* 此处可以使用JDK预定义的几种策略,见{@link RejectPolicy}枚举
|
* 此处可以使用JDK预定义的几种策略,见{@link RejectPolicy}枚举
|
||||||
*
|
*
|
||||||
|
@ -8,7 +8,7 @@ import cn.hutool.core.exceptions.UtilException;
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 全局公共线程池<br>
|
* 全局公共线程池<br>
|
||||||
* 此线程池是一个无限线程池,既加入的线程不等待任何线程,直接执行
|
* 此线程池是一个无限线程池,即加入的线程不等待任何线程,直接执行
|
||||||
*
|
*
|
||||||
* @author Looly
|
* @author Looly
|
||||||
*
|
*
|
||||||
|
@ -57,7 +57,7 @@ public class ClassUtil {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 是否为顶层类,既定义在包中的类,而非定义在类中的内部类
|
* 是否为顶层类,即定义在包中的类,而非定义在类中的内部类
|
||||||
*
|
*
|
||||||
* @param clazz 类
|
* @param clazz 类
|
||||||
* @return 是否为顶层类
|
* @return 是否为顶层类
|
||||||
@ -924,7 +924,7 @@ public class ClassUtil {
|
|||||||
* 获得给定类的泛型参数
|
* 获得给定类的泛型参数
|
||||||
*
|
*
|
||||||
* @param clazz 被检查的类,必须是已经确定泛型类型的类
|
* @param clazz 被检查的类,必须是已经确定泛型类型的类
|
||||||
* @param index 泛型类型的索引号,既第几个泛型类型
|
* @param index 泛型类型的索引号,即第几个泛型类型
|
||||||
* @return {@link Class}
|
* @return {@link Class}
|
||||||
*/
|
*/
|
||||||
public static Class<?> getTypeArgument(Class<?> clazz, int index) {
|
public static Class<?> getTypeArgument(Class<?> clazz, int index) {
|
||||||
|
@ -1654,7 +1654,7 @@ public class NumberUtil {
|
|||||||
/**
|
/**
|
||||||
* 比较大小,值相等 返回true<br>
|
* 比较大小,值相等 返回true<br>
|
||||||
* 此方法通过调用{@link BigDecimal#compareTo(BigDecimal)}方法来判断是否相等<br>
|
* 此方法通过调用{@link BigDecimal#compareTo(BigDecimal)}方法来判断是否相等<br>
|
||||||
* 此方法判断值相等时忽略精度的,既0.00 == 0
|
* 此方法判断值相等时忽略精度的,即0.00 == 0
|
||||||
*
|
*
|
||||||
* @param bigNum1 数字1
|
* @param bigNum1 数字1
|
||||||
* @param bigNum2 数字2
|
* @param bigNum2 数字2
|
||||||
|
@ -471,7 +471,7 @@ public class ObjectUtil {
|
|||||||
* 获得给定类的第一个泛型参数
|
* 获得给定类的第一个泛型参数
|
||||||
*
|
*
|
||||||
* @param obj 被检查的对象
|
* @param obj 被检查的对象
|
||||||
* @param index 泛型类型的索引号,既第几个泛型类型
|
* @param index 泛型类型的索引号,即第几个泛型类型
|
||||||
* @return {@link Class}
|
* @return {@link Class}
|
||||||
* @since 3.0.8
|
* @since 3.0.8
|
||||||
*/
|
*/
|
||||||
|
@ -3271,7 +3271,7 @@ public class StrUtil {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 比较两个版本<br>
|
* 比较两个版本<br>
|
||||||
* null版本排在最小:既:
|
* null版本排在最小:即:
|
||||||
*
|
*
|
||||||
* <pre>
|
* <pre>
|
||||||
* StrUtil.compareVersion(null, "v1") < 0
|
* StrUtil.compareVersion(null, "v1") < 0
|
||||||
@ -4031,7 +4031,7 @@ public class StrUtil {
|
|||||||
/**
|
/**
|
||||||
* 循环位移指定位置的字符串为指定距离<br>
|
* 循环位移指定位置的字符串为指定距离<br>
|
||||||
* 当moveLength大于0向右位移,小于0向左位移,0不位移<br>
|
* 当moveLength大于0向右位移,小于0向左位移,0不位移<br>
|
||||||
* 当moveLength大于字符串长度时采取循环位移策略,既位移到头后从头(尾)位移,例如长度为10,位移13则表示位移3
|
* 当moveLength大于字符串长度时采取循环位移策略,即位移到头后从头(尾)位移,例如长度为10,位移13则表示位移3
|
||||||
*
|
*
|
||||||
* @param str 字符串
|
* @param str 字符串
|
||||||
* @param startInclude 起始位置(包括)
|
* @param startInclude 起始位置(包括)
|
||||||
|
@ -203,7 +203,7 @@ public class TypeUtil {
|
|||||||
* 获得给定类的泛型参数
|
* 获得给定类的泛型参数
|
||||||
*
|
*
|
||||||
* @param type 被检查的类型,必须是已经确定泛型类型的类
|
* @param type 被检查的类型,必须是已经确定泛型类型的类
|
||||||
* @param index 泛型类型的索引号,既第几个泛型类型
|
* @param index 泛型类型的索引号,即第几个泛型类型
|
||||||
* @return {@link Type}
|
* @return {@link Type}
|
||||||
*/
|
*/
|
||||||
public static Type getTypeArgument(Type type, int index) {
|
public static Type getTypeArgument(Type type, int index) {
|
||||||
|
@ -368,7 +368,7 @@ public class XmlUtil {
|
|||||||
// -------------------------------------------------------------------------------------- Create
|
// -------------------------------------------------------------------------------------- Create
|
||||||
/**
|
/**
|
||||||
* 创建XML文档<br>
|
* 创建XML文档<br>
|
||||||
* 创建的XML默认是utf8编码,修改编码的过程是在toStr和toFile方法里,既XML在转为文本的时候才定义编码
|
* 创建的XML默认是utf8编码,修改编码的过程是在toStr和toFile方法里,即XML在转为文本的时候才定义编码
|
||||||
*
|
*
|
||||||
* @return XML文档
|
* @return XML文档
|
||||||
* @since 4.0.8
|
* @since 4.0.8
|
||||||
@ -397,7 +397,7 @@ public class XmlUtil {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 创建XML文档<br>
|
* 创建XML文档<br>
|
||||||
* 创建的XML默认是utf8编码,修改编码的过程是在toStr和toFile方法里,既XML在转为文本的时候才定义编码
|
* 创建的XML默认是utf8编码,修改编码的过程是在toStr和toFile方法里,即XML在转为文本的时候才定义编码
|
||||||
*
|
*
|
||||||
* @param rootElementName 根节点名称
|
* @param rootElementName 根节点名称
|
||||||
* @return XML文档
|
* @return XML文档
|
||||||
|
@ -421,7 +421,7 @@ public class DateUtilTest {
|
|||||||
DateTime dt2 = DateUtil.parse(dateStr1);
|
DateTime dt2 = DateUtil.parse(dateStr1);
|
||||||
Assert.assertEquals(dt, dt2);
|
Assert.assertEquals(dt, dt2);
|
||||||
|
|
||||||
// 默认使用Pattern对应的时区,既UTC时区
|
// 默认使用Pattern对应的时区,即UTC时区
|
||||||
String dateStr = dt.toString();
|
String dateStr = dt.toString();
|
||||||
Assert.assertEquals("2018-09-13 05:34:31", dateStr);
|
Assert.assertEquals("2018-09-13 05:34:31", dateStr);
|
||||||
|
|
||||||
|
@ -191,15 +191,15 @@ public class ArrayUtilTest {
|
|||||||
String[] result = ArrayUtil.insert(a, -1, b);
|
String[] result = ArrayUtil.insert(a, -1, b);
|
||||||
Assert.assertArrayEquals(new String[]{"1", "2", "3", "a", "b", "c", "4"}, result);
|
Assert.assertArrayEquals(new String[]{"1", "2", "3", "a", "b", "c", "4"}, result);
|
||||||
|
|
||||||
// 在第0个位置插入,既在数组前追加
|
// 在第0个位置插入,即在数组前追加
|
||||||
result = ArrayUtil.insert(a, 0, b);
|
result = ArrayUtil.insert(a, 0, b);
|
||||||
Assert.assertArrayEquals(new String[]{"a", "b", "c", "1", "2", "3", "4"}, result);
|
Assert.assertArrayEquals(new String[]{"a", "b", "c", "1", "2", "3", "4"}, result);
|
||||||
|
|
||||||
// 在第2个位置插入,既"3"之前
|
// 在第2个位置插入,即"3"之前
|
||||||
result = ArrayUtil.insert(a, 2, b);
|
result = ArrayUtil.insert(a, 2, b);
|
||||||
Assert.assertArrayEquals(new String[]{"1", "2", "a", "b", "c", "3", "4"}, result);
|
Assert.assertArrayEquals(new String[]{"1", "2", "a", "b", "c", "3", "4"}, result);
|
||||||
|
|
||||||
// 在第4个位置插入,既"4"之后,相当于追加
|
// 在第4个位置插入,即"4"之后,相当于追加
|
||||||
result = ArrayUtil.insert(a, 4, b);
|
result = ArrayUtil.insert(a, 4, b);
|
||||||
Assert.assertArrayEquals(new String[]{"1", "2", "3", "4", "a", "b", "c"}, result);
|
Assert.assertArrayEquals(new String[]{"1", "2", "3", "4", "a", "b", "c"}, result);
|
||||||
|
|
||||||
|
@ -74,7 +74,7 @@ import cn.hutool.cron.pattern.parser.YearValueParser;
|
|||||||
* <li><strong>*/2 * * * *</strong>:每两小时执行</li>
|
* <li><strong>*/2 * * * *</strong>:每两小时执行</li>
|
||||||
* <li><strong>* 12 * * *</strong>:12点的每分钟执行</li>
|
* <li><strong>* 12 * * *</strong>:12点的每分钟执行</li>
|
||||||
* <li><strong>59 11 * * 1,2</strong>:每周一和周二的11:59执行</li>
|
* <li><strong>59 11 * * 1,2</strong>:每周一和周二的11:59执行</li>
|
||||||
* <li><strong>3-18/5 * * * *</strong>:3~18分,每5分钟执行一次,既0:03, 0:08, 0:13, 0:18, 1:03, 1:08……</li>
|
* <li><strong>3-18/5 * * * *</strong>:3~18分,每5分钟执行一次,即0:03, 0:08, 0:13, 0:18, 1:03, 1:08……</li>
|
||||||
* </ul>
|
* </ul>
|
||||||
*
|
*
|
||||||
* @author Looly
|
* @author Looly
|
||||||
|
@ -3,7 +3,7 @@ package cn.hutool.cron.task;
|
|||||||
/**
|
/**
|
||||||
* 定时作业接口,通过实现execute方法执行具体的任务
|
* 定时作业接口,通过实现execute方法执行具体的任务
|
||||||
* <p>
|
* <p>
|
||||||
* 作业执行是异步执行,既不同作业、相同作业在不同时间的执行是相互独立的。<br>
|
* 作业执行是异步执行,即不同作业、相同作业在不同时间的执行是相互独立的。<br>
|
||||||
* 假如前一个作业未完成,下一个调度开始,则不会等待前一个作业,直接执行。<br>
|
* 假如前一个作业未完成,下一个调度开始,则不会等待前一个作业,直接执行。<br>
|
||||||
* 关于作业的互斥,请自行加锁完成。
|
* 关于作业的互斥,请自行加锁完成。
|
||||||
* </p>
|
* </p>
|
||||||
|
@ -16,7 +16,7 @@ public enum Padding {
|
|||||||
*/
|
*/
|
||||||
NoPadding,
|
NoPadding,
|
||||||
/**
|
/**
|
||||||
* 0补码,既不满block长度时使用0填充
|
* 0补码,即不满block长度时使用0填充
|
||||||
*/
|
*/
|
||||||
ZeroPadding,
|
ZeroPadding,
|
||||||
ISO10126Padding,
|
ISO10126Padding,
|
||||||
|
@ -32,7 +32,7 @@ public class Digester implements Serializable {
|
|||||||
private MessageDigest digest;
|
private MessageDigest digest;
|
||||||
/** 盐值 */
|
/** 盐值 */
|
||||||
protected byte[] salt;
|
protected byte[] salt;
|
||||||
/** 加盐位置,既将盐值字符串放置在数据的index数,默认0 */
|
/** 加盐位置,即将盐值字符串放置在数据的index数,默认0 */
|
||||||
protected int saltPosition;
|
protected int saltPosition;
|
||||||
/** 散列次数 */
|
/** 散列次数 */
|
||||||
protected int digestCount;
|
protected int digestCount;
|
||||||
@ -120,7 +120,7 @@ public class Digester implements Serializable {
|
|||||||
* data: 0123456
|
* data: 0123456
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
* 则当saltPosition = 2时,盐位于data的1和2中间,既第二个空隙,既:
|
* 则当saltPosition = 2时,盐位于data的1和2中间,即第二个空隙,即:
|
||||||
*
|
*
|
||||||
* <pre>
|
* <pre>
|
||||||
* data: 01[salt]23456
|
* data: 01[salt]23456
|
||||||
|
@ -53,7 +53,7 @@ public class MD5 extends Digester {
|
|||||||
* 构造
|
* 构造
|
||||||
*
|
*
|
||||||
* @param salt 盐值
|
* @param salt 盐值
|
||||||
* @param saltPosition 加盐位置,既将盐值字符串放置在数据的index数,默认0
|
* @param saltPosition 加盐位置,即将盐值字符串放置在数据的index数,默认0
|
||||||
* @param digestCount 摘要次数,当此值小于等于1,默认为1。
|
* @param digestCount 摘要次数,当此值小于等于1,默认为1。
|
||||||
*/
|
*/
|
||||||
public MD5(byte[] salt, int saltPosition, int digestCount) {
|
public MD5(byte[] salt, int saltPosition, int digestCount) {
|
||||||
|
@ -51,7 +51,7 @@ public class SM3 extends Digester {
|
|||||||
* 构造
|
* 构造
|
||||||
*
|
*
|
||||||
* @param salt 盐值
|
* @param salt 盐值
|
||||||
* @param saltPosition 加盐位置,既将盐值字符串放置在数据的index数,默认0
|
* @param saltPosition 加盐位置,即将盐值字符串放置在数据的index数,默认0
|
||||||
* @param digestCount 摘要次数,当此值小于等于1,默认为1。
|
* @param digestCount 摘要次数,当此值小于等于1,默认为1。
|
||||||
*/
|
*/
|
||||||
public SM3(byte[] salt, int saltPosition, int digestCount) {
|
public SM3(byte[] salt, int saltPosition, int digestCount) {
|
||||||
|
@ -134,7 +134,7 @@ public class SymmetricCrypto implements Serializable {
|
|||||||
*
|
*
|
||||||
* @param algorithm 算法
|
* @param algorithm 算法
|
||||||
* @param key 密钥,如果为<code>null</code>自动生成一个key
|
* @param key 密钥,如果为<code>null</code>自动生成一个key
|
||||||
* @return {@link SymmetricCrypto}的子对象,既子对象自身
|
* @return {@link SymmetricCrypto}的子对象,即子对象自身
|
||||||
*/
|
*/
|
||||||
public SymmetricCrypto init(String algorithm, SecretKey key) {
|
public SymmetricCrypto init(String algorithm, SecretKey key) {
|
||||||
Assert.notBlank(algorithm, "'algorithm' must be not blank !");
|
Assert.notBlank(algorithm, "'algorithm' must be not blank !");
|
||||||
|
@ -151,7 +151,7 @@ public class HtmlUtil {
|
|||||||
// (?i) 表示忽略大小写
|
// (?i) 表示忽略大小写
|
||||||
// \s* 属性名前后的空白符去除
|
// \s* 属性名前后的空白符去除
|
||||||
// [^>]+? 属性值,至少有一个非>的字符,>表示标签结束
|
// [^>]+? 属性值,至少有一个非>的字符,>表示标签结束
|
||||||
// \s+(?=>) 表示属性值后跟空格加>,既末尾的属性,此时去掉空格
|
// \s+(?=>) 表示属性值后跟空格加>,即末尾的属性,此时去掉空格
|
||||||
// (?=\s|>) 表示属性值后跟空格(属性后还有别的属性)或者跟>(最后一个属性)
|
// (?=\s|>) 表示属性值后跟空格(属性后还有别的属性)或者跟>(最后一个属性)
|
||||||
regex = StrUtil.format("(?i)(\\s*{}\\s*=[^>]+?\\s+(?=>))|(\\s*{}\\s*=[^>]+?(?=\\s|>))", attr, attr);
|
regex = StrUtil.format("(?i)(\\s*{}\\s*=[^>]+?\\s+(?=>))|(\\s*{}\\s*=[^>]+?(?=\\s|>))", attr, attr);
|
||||||
content = content.replaceAll(regex, StrUtil.EMPTY);
|
content = content.replaceAll(regex, StrUtil.EMPTY);
|
||||||
|
@ -495,7 +495,7 @@ public class SoapClient {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 执行Webservice请求,既发送SOAP内容
|
* 执行Webservice请求,即发送SOAP内容
|
||||||
*
|
*
|
||||||
* @return 返回结果
|
* @return 返回结果
|
||||||
*/
|
*/
|
||||||
@ -517,7 +517,7 @@ public class SoapClient {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 执行Webservice请求,既发送SOAP内容
|
* 执行Webservice请求,即发送SOAP内容
|
||||||
*
|
*
|
||||||
* @return 返回结果
|
* @return 返回结果
|
||||||
*/
|
*/
|
||||||
@ -526,7 +526,7 @@ public class SoapClient {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 执行Webservice请求,既发送SOAP内容
|
* 执行Webservice请求,即发送SOAP内容
|
||||||
*
|
*
|
||||||
* @param pretty 是否格式化
|
* @param pretty 是否格式化
|
||||||
* @return 返回结果
|
* @return 返回结果
|
||||||
|
@ -513,7 +513,7 @@ public class JSONArray extends JSONGetter<Integer> implements JSON, List<Object>
|
|||||||
/**
|
/**
|
||||||
* 转为JSON字符串,指定缩进值
|
* 转为JSON字符串,指定缩进值
|
||||||
*
|
*
|
||||||
* @param indentFactor 缩进值,既缩进空格数
|
* @param indentFactor 缩进值,即缩进空格数
|
||||||
* @return JSON字符串
|
* @return JSON字符串
|
||||||
* @throws JSONException JSON写入异常
|
* @throws JSONException JSON写入异常
|
||||||
*/
|
*/
|
||||||
|
@ -28,7 +28,7 @@ public class LogTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 兼容slf4j日志消息格式测试,既第二个参数是异常对象时正常输出异常信息
|
* 兼容slf4j日志消息格式测试,即第二个参数是异常对象时正常输出异常信息
|
||||||
*/
|
*/
|
||||||
@Test
|
@Test
|
||||||
@Ignore
|
@Ignore
|
||||||
|
@ -141,8 +141,8 @@ public class ExcelBase<T extends ExcelBase<T>> implements Closeable {
|
|||||||
/**
|
/**
|
||||||
* 获取指定坐标单元格,单元格不存在时返回<code>null</code>
|
* 获取指定坐标单元格,单元格不存在时返回<code>null</code>
|
||||||
*
|
*
|
||||||
* @param x X坐标,从0计数,既列号
|
* @param x X坐标,从0计数,即列号
|
||||||
* @param y Y坐标,从0计数,既行号
|
* @param y Y坐标,从0计数,即行号
|
||||||
* @return {@link Cell}
|
* @return {@link Cell}
|
||||||
* @since 4.0.5
|
* @since 4.0.5
|
||||||
*/
|
*/
|
||||||
@ -153,8 +153,8 @@ public class ExcelBase<T extends ExcelBase<T>> implements Closeable {
|
|||||||
/**
|
/**
|
||||||
* 获取或创建指定坐标单元格
|
* 获取或创建指定坐标单元格
|
||||||
*
|
*
|
||||||
* @param x X坐标,从0计数,既列号
|
* @param x X坐标,从0计数,即列号
|
||||||
* @param y Y坐标,从0计数,既行号
|
* @param y Y坐标,从0计数,即行号
|
||||||
* @return {@link Cell}
|
* @return {@link Cell}
|
||||||
* @since 4.0.6
|
* @since 4.0.6
|
||||||
*/
|
*/
|
||||||
@ -165,8 +165,8 @@ public class ExcelBase<T extends ExcelBase<T>> implements Closeable {
|
|||||||
/**
|
/**
|
||||||
* 获取指定坐标单元格,如果isCreateIfNotExist为false,则在单元格不存在时返回<code>null</code>
|
* 获取指定坐标单元格,如果isCreateIfNotExist为false,则在单元格不存在时返回<code>null</code>
|
||||||
*
|
*
|
||||||
* @param x X坐标,从0计数,既列号
|
* @param x X坐标,从0计数,即列号
|
||||||
* @param y Y坐标,从0计数,既行号
|
* @param y Y坐标,从0计数,即行号
|
||||||
* @param isCreateIfNotExist 单元格不存在时是否创建
|
* @param isCreateIfNotExist 单元格不存在时是否创建
|
||||||
* @return {@link Cell}
|
* @return {@link Cell}
|
||||||
* @since 4.0.6
|
* @since 4.0.6
|
||||||
@ -182,7 +182,7 @@ public class ExcelBase<T extends ExcelBase<T>> implements Closeable {
|
|||||||
/**
|
/**
|
||||||
* 获取或者创建行
|
* 获取或者创建行
|
||||||
*
|
*
|
||||||
* @param y Y坐标,从0计数,既行号
|
* @param y Y坐标,从0计数,即行号
|
||||||
* @return {@link Row}
|
* @return {@link Row}
|
||||||
* @since 4.1.4
|
* @since 4.1.4
|
||||||
*/
|
*/
|
||||||
@ -193,8 +193,8 @@ public class ExcelBase<T extends ExcelBase<T>> implements Closeable {
|
|||||||
/**
|
/**
|
||||||
* 为指定单元格获取或者创建样式,返回样式后可以设置样式内容
|
* 为指定单元格获取或者创建样式,返回样式后可以设置样式内容
|
||||||
*
|
*
|
||||||
* @param x X坐标,从0计数,既列号
|
* @param x X坐标,从0计数,即列号
|
||||||
* @param y Y坐标,从0计数,既行号
|
* @param y Y坐标,从0计数,即行号
|
||||||
* @return {@link CellStyle}
|
* @return {@link CellStyle}
|
||||||
* @since 4.1.4
|
* @since 4.1.4
|
||||||
*/
|
*/
|
||||||
@ -206,8 +206,8 @@ public class ExcelBase<T extends ExcelBase<T>> implements Closeable {
|
|||||||
/**
|
/**
|
||||||
* 为指定单元格创建样式,返回样式后可以设置样式内容
|
* 为指定单元格创建样式,返回样式后可以设置样式内容
|
||||||
*
|
*
|
||||||
* @param x X坐标,从0计数,既列号
|
* @param x X坐标,从0计数,即列号
|
||||||
* @param y Y坐标,从0计数,既行号
|
* @param y Y坐标,从0计数,即行号
|
||||||
* @return {@link CellStyle}
|
* @return {@link CellStyle}
|
||||||
* @since 4.6.3
|
* @since 4.6.3
|
||||||
*/
|
*/
|
||||||
@ -222,7 +222,7 @@ public class ExcelBase<T extends ExcelBase<T>> implements Closeable {
|
|||||||
* 获取或创建某一行的样式,返回样式后可以设置样式内容<br>
|
* 获取或创建某一行的样式,返回样式后可以设置样式内容<br>
|
||||||
* 需要注意,此方法返回行样式,设置背景色在单元格设置值后会被覆盖,需要单独设置其单元格的样式。
|
* 需要注意,此方法返回行样式,设置背景色在单元格设置值后会被覆盖,需要单独设置其单元格的样式。
|
||||||
*
|
*
|
||||||
* @param y Y坐标,从0计数,既行号
|
* @param y Y坐标,从0计数,即行号
|
||||||
* @return {@link CellStyle}
|
* @return {@link CellStyle}
|
||||||
* @since 4.1.4
|
* @since 4.1.4
|
||||||
*/
|
*/
|
||||||
@ -234,7 +234,7 @@ public class ExcelBase<T extends ExcelBase<T>> implements Closeable {
|
|||||||
/**
|
/**
|
||||||
* 创建某一行的样式,返回样式后可以设置样式内容
|
* 创建某一行的样式,返回样式后可以设置样式内容
|
||||||
*
|
*
|
||||||
* @param y Y坐标,从0计数,既行号
|
* @param y Y坐标,从0计数,即行号
|
||||||
* @return {@link CellStyle}
|
* @return {@link CellStyle}
|
||||||
* @since 4.6.3
|
* @since 4.6.3
|
||||||
*/
|
*/
|
||||||
@ -248,7 +248,7 @@ public class ExcelBase<T extends ExcelBase<T>> implements Closeable {
|
|||||||
* 获取或创建某一行的样式,返回样式后可以设置样式内容<br>
|
* 获取或创建某一行的样式,返回样式后可以设置样式内容<br>
|
||||||
* 需要注意,此方法返回行样式,设置背景色在单元格设置值后会被覆盖,需要单独设置其单元格的样式。
|
* 需要注意,此方法返回行样式,设置背景色在单元格设置值后会被覆盖,需要单独设置其单元格的样式。
|
||||||
*
|
*
|
||||||
* @param x X坐标,从0计数,既列号
|
* @param x X坐标,从0计数,即列号
|
||||||
* @return {@link CellStyle}
|
* @return {@link CellStyle}
|
||||||
* @since 4.1.4
|
* @since 4.1.4
|
||||||
*/
|
*/
|
||||||
@ -260,7 +260,7 @@ public class ExcelBase<T extends ExcelBase<T>> implements Closeable {
|
|||||||
/**
|
/**
|
||||||
* 创建某一行的样式,返回样式后可以设置样式内容
|
* 创建某一行的样式,返回样式后可以设置样式内容
|
||||||
*
|
*
|
||||||
* @param x X坐标,从0计数,既列号
|
* @param x X坐标,从0计数,即列号
|
||||||
* @return {@link CellStyle}
|
* @return {@link CellStyle}
|
||||||
* @since 4.6.3
|
* @since 4.6.3
|
||||||
*/
|
*/
|
||||||
|
@ -405,8 +405,8 @@ public class ExcelReader extends ExcelBase<ExcelReader> {
|
|||||||
/**
|
/**
|
||||||
* 读取某个单元格的值
|
* 读取某个单元格的值
|
||||||
*
|
*
|
||||||
* @param x X坐标,从0计数,既列号
|
* @param x X坐标,从0计数,即列号
|
||||||
* @param y Y坐标,从0计数,既行号
|
* @param y Y坐标,从0计数,即行号
|
||||||
* @return 值,如果单元格无值返回null
|
* @return 值,如果单元格无值返回null
|
||||||
* @since 4.0.3
|
* @since 4.0.3
|
||||||
*/
|
*/
|
||||||
|
@ -678,9 +678,9 @@ public class ExcelWriter extends ExcelBase<ExcelWriter> {
|
|||||||
* data中元素支持的类型有:
|
* data中元素支持的类型有:
|
||||||
*
|
*
|
||||||
* <pre>
|
* <pre>
|
||||||
* 1. Iterable,既元素为一个集合,元素被当作一行,data表示多行<br>
|
* 1. Iterable,即元素为一个集合,元素被当作一行,data表示多行<br>
|
||||||
* 2. Map,既元素为一个Map,第一个Map的keys作为首行,剩下的行为Map的values,data表示多行 <br>
|
* 2. Map,即元素为一个Map,第一个Map的keys作为首行,剩下的行为Map的values,data表示多行 <br>
|
||||||
* 3. Bean,既元素为一个Bean,第一个Bean的字段名列表会作为首行,剩下的行为Bean的字段值列表,data表示多行 <br>
|
* 3. Bean,即元素为一个Bean,第一个Bean的字段名列表会作为首行,剩下的行为Bean的字段值列表,data表示多行 <br>
|
||||||
* 4. 其它类型,按照基本类型输出(例如字符串)
|
* 4. 其它类型,按照基本类型输出(例如字符串)
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
@ -700,9 +700,9 @@ public class ExcelWriter extends ExcelBase<ExcelWriter> {
|
|||||||
* data中元素支持的类型有:
|
* data中元素支持的类型有:
|
||||||
*
|
*
|
||||||
* <pre>
|
* <pre>
|
||||||
* 1. Iterable,既元素为一个集合,元素被当作一行,data表示多行<br>
|
* 1. Iterable,即元素为一个集合,元素被当作一行,data表示多行<br>
|
||||||
* 2. Map,既元素为一个Map,第一个Map的keys作为首行,剩下的行为Map的values,data表示多行 <br>
|
* 2. Map,即元素为一个Map,第一个Map的keys作为首行,剩下的行为Map的values,data表示多行 <br>
|
||||||
* 3. Bean,既元素为一个Bean,第一个Bean的字段名列表会作为首行,剩下的行为Bean的字段值列表,data表示多行 <br>
|
* 3. Bean,即元素为一个Bean,第一个Bean的字段名列表会作为首行,剩下的行为Bean的字段值列表,data表示多行 <br>
|
||||||
* 4. 其它类型,按照基本类型输出(例如字符串)
|
* 4. 其它类型,按照基本类型输出(例如字符串)
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
@ -729,8 +729,8 @@ public class ExcelWriter extends ExcelBase<ExcelWriter> {
|
|||||||
* data中元素支持的类型有:
|
* data中元素支持的类型有:
|
||||||
*
|
*
|
||||||
* <p>
|
* <p>
|
||||||
* 1. Map,既元素为一个Map,第一个Map的keys作为首行,剩下的行为Map的values,data表示多行 <br>
|
* 1. Map,即元素为一个Map,第一个Map的keys作为首行,剩下的行为Map的values,data表示多行 <br>
|
||||||
* 2. Bean,既元素为一个Bean,第一个Bean的字段名列表会作为首行,剩下的行为Bean的字段值列表,data表示多行 <br>
|
* 2. Bean,即元素为一个Bean,第一个Bean的字段名列表会作为首行,剩下的行为Bean的字段值列表,data表示多行 <br>
|
||||||
* </p>
|
* </p>
|
||||||
*
|
*
|
||||||
* @param data 数据
|
* @param data 数据
|
||||||
@ -857,8 +857,8 @@ public class ExcelWriter extends ExcelBase<ExcelWriter> {
|
|||||||
/**
|
/**
|
||||||
* 给指定单元格赋值,使用默认单元格样式
|
* 给指定单元格赋值,使用默认单元格样式
|
||||||
*
|
*
|
||||||
* @param x X坐标,从0计数,既列号
|
* @param x X坐标,从0计数,即列号
|
||||||
* @param y Y坐标,从0计数,既行号
|
* @param y Y坐标,从0计数,即行号
|
||||||
* @param value 值
|
* @param value 值
|
||||||
* @return this
|
* @return this
|
||||||
* @since 4.0.2
|
* @since 4.0.2
|
||||||
@ -872,8 +872,8 @@ public class ExcelWriter extends ExcelBase<ExcelWriter> {
|
|||||||
/**
|
/**
|
||||||
* 为指定单元格创建样式
|
* 为指定单元格创建样式
|
||||||
*
|
*
|
||||||
* @param x X坐标,从0计数,既列号
|
* @param x X坐标,从0计数,即列号
|
||||||
* @param y Y坐标,从0计数,既行号
|
* @param y Y坐标,从0计数,即行号
|
||||||
* @return {@link CellStyle}
|
* @return {@link CellStyle}
|
||||||
* @since 4.0.9
|
* @since 4.0.9
|
||||||
* @deprecated 请使用{@link #createCellStyle(int, int)}
|
* @deprecated 请使用{@link #createCellStyle(int, int)}
|
||||||
@ -894,8 +894,8 @@ public class ExcelWriter extends ExcelBase<ExcelWriter> {
|
|||||||
* <p>
|
* <p>
|
||||||
* 需要注意的是,共享样式会共享同一个{@link CellStyle},一个单元格样式改变,全部改变。
|
* 需要注意的是,共享样式会共享同一个{@link CellStyle},一个单元格样式改变,全部改变。
|
||||||
*
|
*
|
||||||
* @param x X坐标,从0计数,既列号
|
* @param x X坐标,从0计数,即列号
|
||||||
* @param y Y坐标,从0计数,既行号
|
* @param y Y坐标,从0计数,即行号
|
||||||
* @return this
|
* @return this
|
||||||
* @since 4.6.3
|
* @since 4.6.3
|
||||||
*/
|
*/
|
||||||
|
@ -57,7 +57,7 @@ public class BigExcelWriteTest {
|
|||||||
// 通过工具类创建writer
|
// 通过工具类创建writer
|
||||||
BigExcelWriter writer = ExcelUtil.getBigWriter(filePath);
|
BigExcelWriter writer = ExcelUtil.getBigWriter(filePath);
|
||||||
|
|
||||||
// // 跳过当前行,既第一行,非必须,在此演示用
|
// // 跳过当前行,即第一行,非必须,在此演示用
|
||||||
// writer.passCurrentRow();
|
// writer.passCurrentRow();
|
||||||
// // 合并单元格后的标题行,使用默认标题样式
|
// // 合并单元格后的标题行,使用默认标题样式
|
||||||
// writer.merge(row1.size() - 1, "大数据测试标题");
|
// writer.merge(row1.size() - 1, "大数据测试标题");
|
||||||
@ -84,7 +84,7 @@ public class BigExcelWriteTest {
|
|||||||
CellStyle style = writer.getStyleSet().getHeadCellStyle();
|
CellStyle style = writer.getStyleSet().getHeadCellStyle();
|
||||||
StyleUtil.setColor(style, IndexedColors.RED, FillPatternType.SOLID_FOREGROUND);
|
StyleUtil.setColor(style, IndexedColors.RED, FillPatternType.SOLID_FOREGROUND);
|
||||||
|
|
||||||
// 跳过当前行,既第一行,非必须,在此演示用
|
// 跳过当前行,即第一行,非必须,在此演示用
|
||||||
writer.passCurrentRow();
|
writer.passCurrentRow();
|
||||||
// 合并单元格后的标题行,使用默认标题样式
|
// 合并单元格后的标题行,使用默认标题样式
|
||||||
writer.merge(row1.size() - 1, "测试标题");
|
writer.merge(row1.size() - 1, "测试标题");
|
||||||
|
@ -79,7 +79,7 @@ public class ExcelWriteTest {
|
|||||||
// 通过构造方法创建writer
|
// 通过构造方法创建writer
|
||||||
// ExcelWriter writer = new ExcelWriter("d:/writeTest.xls");
|
// ExcelWriter writer = new ExcelWriter("d:/writeTest.xls");
|
||||||
|
|
||||||
// 跳过当前行,既第一行,非必须,在此演示用
|
// 跳过当前行,即第一行,非必须,在此演示用
|
||||||
writer.passCurrentRow();
|
writer.passCurrentRow();
|
||||||
// 合并单元格后的标题行,使用默认标题样式
|
// 合并单元格后的标题行,使用默认标题样式
|
||||||
writer.merge(row1.size() - 1, "测试标题");
|
writer.merge(row1.size() - 1, "测试标题");
|
||||||
@ -106,7 +106,7 @@ public class ExcelWriteTest {
|
|||||||
CellStyle style = writer.getStyleSet().getHeadCellStyle();
|
CellStyle style = writer.getStyleSet().getHeadCellStyle();
|
||||||
StyleUtil.setColor(style, IndexedColors.RED, FillPatternType.SOLID_FOREGROUND);
|
StyleUtil.setColor(style, IndexedColors.RED, FillPatternType.SOLID_FOREGROUND);
|
||||||
|
|
||||||
// 跳过当前行,既第一行,非必须,在此演示用
|
// 跳过当前行,即第一行,非必须,在此演示用
|
||||||
writer.passCurrentRow();
|
writer.passCurrentRow();
|
||||||
// 合并单元格后的标题行,使用默认标题样式
|
// 合并单元格后的标题行,使用默认标题样式
|
||||||
writer.merge(row1.size() - 1, "测试标题");
|
writer.merge(row1.size() - 1, "测试标题");
|
||||||
|
Loading…
x
Reference in New Issue
Block a user