mirror of
https://gitee.com/dromara/hutool.git
synced 2025-04-05 17:37:59 +08:00
fix bug
This commit is contained in:
parent
c1edd9b401
commit
bd4a0a075f
@ -13,6 +13,8 @@
|
||||
* 【extra 】 修复Ftp设置超时问题(issue#I1GMTQ@Gitee)
|
||||
* 【core 】 修复TreeUtil根据id查找子节点时的NPE问题(pr#120@Gitee)
|
||||
* 【core 】 修复BeanUtil.copyProperties中Alias注解无效问题(issue#I1GK3M@Gitee)
|
||||
* 【core 】 修复CollUtil.containsAll空集合判断问题(issue#I1G9DE@Gitee)
|
||||
* 【core 】 修复XmlUtil.xmlToBean失败问题(issue#865@Github)
|
||||
|
||||
-------------------------------------------------------------------------------------------------------------
|
||||
|
||||
|
@ -307,7 +307,15 @@ public class CollUtil {
|
||||
* @since 4.5.12
|
||||
*/
|
||||
public static boolean containsAll(Collection<?> coll1, Collection<?> coll2) {
|
||||
if (isEmpty(coll1) || isEmpty(coll2) || coll1.size() < coll2.size()) {
|
||||
if(isEmpty(coll1)){
|
||||
return isEmpty(coll2);
|
||||
}
|
||||
|
||||
if(isEmpty(coll2)){
|
||||
return true;
|
||||
}
|
||||
|
||||
if (coll1.size() < coll2.size()) {
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@ -714,7 +714,14 @@ public class DateUtil extends CalendarUtil {
|
||||
}
|
||||
|
||||
/**
|
||||
* 格式yyyy-MM-dd HH:mm:ss
|
||||
* 解析日期时间字符串,格式支持:
|
||||
*
|
||||
* <pre>
|
||||
* yyyy-MM-dd HH:mm:ss
|
||||
* yyyy/MM/dd HH:mm:ss
|
||||
* yyyy.MM.dd HH:mm:ss
|
||||
* yyyy年MM月dd日 HH:mm:ss
|
||||
* </pre>
|
||||
*
|
||||
* @param dateString 标准形式的时间字符串
|
||||
* @return 日期对象
|
||||
@ -725,7 +732,13 @@ public class DateUtil extends CalendarUtil {
|
||||
}
|
||||
|
||||
/**
|
||||
* 解析格式为yyyy-MM-dd的日期,忽略时分秒
|
||||
* 解析日期字符串,忽略时分秒,支持的格式包括:
|
||||
* <pre>
|
||||
* yyyy-MM-dd
|
||||
* yyyy/MM/dd
|
||||
* yyyy.MM.dd
|
||||
* yyyy年MM月dd日
|
||||
* </pre>
|
||||
*
|
||||
* @param dateString 标准形式的日期字符串
|
||||
* @return 日期对象
|
||||
|
@ -835,7 +835,11 @@ public class XmlUtil {
|
||||
* @since 5.2.4
|
||||
*/
|
||||
public static <T> T xmlToBean(Node node, Class<T> bean) {
|
||||
return BeanUtil.toBean(xmlToMap(node), bean);
|
||||
final Map<String, Object> map = xmlToMap(node);
|
||||
if(null != map && map.size() == 1){
|
||||
return BeanUtil.toBean(map.get(bean.getSimpleName()), bean);
|
||||
}
|
||||
return BeanUtil.toBean(map, bean);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -1042,6 +1046,17 @@ public class XmlUtil {
|
||||
return doc;
|
||||
}
|
||||
|
||||
/**
|
||||
* 将Bean转换为XML
|
||||
*
|
||||
* @param bean Bean对象
|
||||
* @return XML
|
||||
* @since 5.3.4
|
||||
*/
|
||||
public static Document beanToXml(Object bean) {
|
||||
return beanToXml(bean, null);
|
||||
}
|
||||
|
||||
/**
|
||||
* 将Bean转换为XML
|
||||
*
|
||||
|
@ -36,7 +36,6 @@ public class CollUtilTest {
|
||||
@Test
|
||||
public void isNotEmptyTest(){
|
||||
Assert.assertFalse(CollUtil.isNotEmpty((Collection<?>) null));
|
||||
;
|
||||
}
|
||||
|
||||
@Test
|
||||
@ -589,8 +588,11 @@ public class CollUtilTest {
|
||||
public void containsAllTest() {
|
||||
ArrayList<Integer> list1 = CollUtil.newArrayList(1, 2, 3, 4, 5);
|
||||
ArrayList<Integer> list2 = CollUtil.newArrayList(5, 3, 1);
|
||||
|
||||
Assert.assertTrue(CollUtil.containsAll(list1, list2));
|
||||
|
||||
ArrayList<Integer> list3 = CollUtil.newArrayList(1);
|
||||
ArrayList<Integer> list4 = CollUtil.newArrayList();
|
||||
Assert.assertTrue(CollUtil.containsAll(list3, list4));
|
||||
}
|
||||
|
||||
@Test
|
||||
|
@ -4,6 +4,7 @@ import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.date.BetweenFormater.Level;
|
||||
import cn.hutool.core.date.format.FastDateFormat;
|
||||
import org.junit.Assert;
|
||||
import org.junit.Ignore;
|
||||
import org.junit.Test;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
@ -379,6 +380,14 @@ public class DateUtilTest {
|
||||
Assert.assertEquals("2019-06-01 19:45:43", dateTime.toString());
|
||||
}
|
||||
|
||||
@Test
|
||||
@Ignore
|
||||
public void parseTest8() {
|
||||
String str = "2020-04-24 9:00:00";
|
||||
DateTime dateTime = DateUtil.parse(str);
|
||||
Assert.assertEquals("2019-06-01 19:45:43", dateTime.toString());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void parseAndOffsetTest() {
|
||||
// 检查UTC时间偏移是否准确
|
||||
|
@ -4,6 +4,7 @@ import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.io.resource.ResourceUtil;
|
||||
import cn.hutool.core.map.MapBuilder;
|
||||
import cn.hutool.core.map.MapUtil;
|
||||
import lombok.Data;
|
||||
import org.junit.Assert;
|
||||
import org.junit.Ignore;
|
||||
import org.junit.Test;
|
||||
@ -174,4 +175,33 @@ public class XmlUtilTest {
|
||||
document,XPathConstants.STRING);//
|
||||
Assert.assertEquals("2020/04/15 21:01:21", value);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void xmlToBeanTest(){
|
||||
final TestBean testBean = new TestBean();
|
||||
testBean.setReqCode("1111");
|
||||
testBean.setAccountName("账户名称");
|
||||
testBean.setOperator("cz");
|
||||
testBean.setProjectCode("123");
|
||||
testBean.setBankCode("00001");
|
||||
|
||||
final Document doc = XmlUtil.beanToXml(testBean);
|
||||
Assert.assertEquals(TestBean.class.getSimpleName(), doc.getDocumentElement().getTagName());
|
||||
|
||||
final TestBean testBean2 = XmlUtil.xmlToBean(doc, TestBean.class);
|
||||
Assert.assertEquals(testBean.getReqCode(), testBean2.getReqCode());
|
||||
Assert.assertEquals(testBean.getAccountName(), testBean2.getAccountName());
|
||||
Assert.assertEquals(testBean.getOperator(), testBean2.getOperator());
|
||||
Assert.assertEquals(testBean.getProjectCode(), testBean2.getProjectCode());
|
||||
Assert.assertEquals(testBean.getBankCode(), testBean2.getBankCode());
|
||||
}
|
||||
|
||||
@Data
|
||||
public static class TestBean{
|
||||
private String ReqCode;
|
||||
private String AccountName;
|
||||
private String Operator;
|
||||
private String ProjectCode;
|
||||
private String BankCode;
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user