diff --git a/CHANGELOG.md b/CHANGELOG.md
index 6dd954538..6bdf987df 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -7,6 +7,9 @@
### 新特性
* 【core】 增加MapUtil.removeAny(issue#612@Github)
+* 【core】 Convert.toList支持[1,2]字符串(issue#I149XN@Gitee)
+* 【core】 修正DateUtil.thisWeekOfMonth注释错误(issue#614@Github)
+* 【core】 DateUtil增加toLocalDate等方法,DateTime更好的支持时区
### Bug修复
* 【db】 修复MetaUtil.getTableMeta()方法未释放ResultSet的bug(issue#I148GH@Gitee)
diff --git a/hutool-core/src/main/java/cn/hutool/core/collection/CollUtil.java b/hutool-core/src/main/java/cn/hutool/core/collection/CollUtil.java
index bb837e750..8b6377019 100644
--- a/hutool-core/src/main/java/cn/hutool/core/collection/CollUtil.java
+++ b/hutool-core/src/main/java/cn/hutool/core/collection/CollUtil.java
@@ -1744,6 +1744,7 @@ public class CollUtil {
/**
* 将指定对象全部加入到集合中
* 提供的对象如果为集合类型,会自动转换为目标元素类型
+ * 如果为String,支持类似于[1,2,3,4] 或者 1,2,3,4 这种格式
*
* @param 元素类型
* @param collection 被加入的集合
@@ -1772,7 +1773,8 @@ public class CollUtil {
iter = new ArrayIter<>(value);
} else if (value instanceof CharSequence) {
// String按照逗号分隔的列表对待
- iter = StrUtil.splitTrim((CharSequence) value, CharUtil.COMMA).iterator();
+ final String ArrayStr = StrUtil.unWrap((CharSequence) value, '[', ']');
+ iter = StrUtil.splitTrim(ArrayStr, CharUtil.COMMA).iterator();
} else {
// 其它类型按照单一元素处理
iter = CollUtil.newArrayList(value).iterator();
@@ -2415,7 +2417,7 @@ public class CollUtil {
/**
* 设置或增加元素。当index小于List的长度时,替换指定位置的值,否则在尾部追加
*
- * @param 元素类型
+ * @param 元素类型
* @param list List列表
* @param index 位置
* @param element 新元素
diff --git a/hutool-core/src/main/java/cn/hutool/core/convert/impl/TemporalAccessorConverter.java b/hutool-core/src/main/java/cn/hutool/core/convert/impl/TemporalAccessorConverter.java
index 2ba59ac49..3375ff62d 100644
--- a/hutool-core/src/main/java/cn/hutool/core/convert/impl/TemporalAccessorConverter.java
+++ b/hutool-core/src/main/java/cn/hutool/core/convert/impl/TemporalAccessorConverter.java
@@ -1,7 +1,9 @@
package cn.hutool.core.convert.impl;
import cn.hutool.core.convert.AbstractConverter;
+import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil;
+import cn.hutool.core.util.ObjectUtil;
import java.time.Instant;
import java.time.LocalDate;
@@ -87,9 +89,11 @@ public class TemporalAccessorConverter extends AbstractConverter
* 格式:[20131]表示2013年第一季度
diff --git a/hutool-core/src/main/java/cn/hutool/core/thread/ThreadUtil.java b/hutool-core/src/main/java/cn/hutool/core/thread/ThreadUtil.java
index 8bf64cc9c..3a987578c 100644
--- a/hutool-core/src/main/java/cn/hutool/core/thread/ThreadUtil.java
+++ b/hutool-core/src/main/java/cn/hutool/core/thread/ThreadUtil.java
@@ -102,12 +102,7 @@ public class ThreadUtil {
* @return 执行的方法体
*/
public static Runnable excAsync(final Runnable runnable, boolean isDaemon) {
- Thread thread = new Thread() {
- @Override
- public void run() {
- runnable.run();
- }
- };
+ Thread thread = new Thread(runnable);
thread.setDaemon(isDaemon);
thread.start();
diff --git a/hutool-core/src/test/java/cn/hutool/core/convert/ConvertTest.java b/hutool-core/src/test/java/cn/hutool/core/convert/ConvertTest.java
index a68db5702..23f8edb8f 100644
--- a/hutool-core/src/test/java/cn/hutool/core/convert/ConvertTest.java
+++ b/hutool-core/src/test/java/cn/hutool/core/convert/ConvertTest.java
@@ -4,6 +4,8 @@ import org.junit.Assert;
import org.junit.Test;
import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
/**
* 类型转换工具单元测试
@@ -179,4 +181,29 @@ public class ConvertTest {
Assert.assertEquals(short2, short1);
}
+
+ @Test
+ public void toListTest(){
+ List list = Arrays.asList("1","2");
+ String str = Convert.toStr(list);
+ List list2 = Convert.toList(String.class, str);
+ Assert.assertEquals("1", list2.get(0));
+ Assert.assertEquals("2", list2.get(1));
+
+ List list3 = Convert.toList(Integer.class, str);
+ Assert.assertEquals(1, list3.get(0).intValue());
+ Assert.assertEquals(2, list3.get(1).intValue());
+ }
+
+ @Test
+ public void toListTest2(){
+ String str = "1,2";
+ List list2 = Convert.toList(String.class, str);
+ Assert.assertEquals("1", list2.get(0));
+ Assert.assertEquals("2", list2.get(1));
+
+ List list3 = Convert.toList(Integer.class, str);
+ Assert.assertEquals(1, list3.get(0).intValue());
+ Assert.assertEquals(2, list3.get(1).intValue());
+ }
}