mirror of
https://gitee.com/chinabugotech/hutool.git
synced 2025-05-09 23:51:34 +08:00
fix convert
This commit is contained in:
parent
f456cd5d2a
commit
f770e00904
@ -683,6 +683,10 @@ public class BeanUtil {
|
||||
if (null == clazz) {
|
||||
return false;
|
||||
}
|
||||
if(clazz == String.class){
|
||||
// String中有getter方法,但为字符串,不是Bean
|
||||
return false;
|
||||
}
|
||||
return hasGetter(clazz) || hasPublicField(clazz);
|
||||
}
|
||||
|
||||
|
@ -26,6 +26,8 @@ import java.util.HashMap;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
|
||||
/**
|
||||
* 类型转换工具单元测试<br>
|
||||
* 转换为数组
|
||||
@ -44,9 +46,9 @@ public class ConvertToBeanTest {
|
||||
person.setSubName("sub名字");
|
||||
|
||||
final Map<?, ?> map = ConvertUtil.convert(Map.class, person);
|
||||
Assertions.assertEquals(map.get("name"), "测试A11");
|
||||
Assertions.assertEquals(map.get("age"), 14);
|
||||
Assertions.assertEquals("11213232", map.get("openid"));
|
||||
assertEquals(map.get("name"), "测试A11");
|
||||
assertEquals(map.get("age"), 14);
|
||||
assertEquals("11213232", map.get("openid"));
|
||||
}
|
||||
|
||||
@Test
|
||||
@ -58,15 +60,15 @@ public class ConvertToBeanTest {
|
||||
person.setSubName("sub名字");
|
||||
|
||||
final Map<String, String> map = ConvertUtil.toMap(String.class, String.class, person);
|
||||
Assertions.assertEquals("测试A11", map.get("name"));
|
||||
Assertions.assertEquals("14", map.get("age"));
|
||||
Assertions.assertEquals("11213232", map.get("openid"));
|
||||
assertEquals("测试A11", map.get("name"));
|
||||
assertEquals("14", map.get("age"));
|
||||
assertEquals("11213232", map.get("openid"));
|
||||
|
||||
final LinkedHashMap<String, String> map2 = ConvertUtil.convert(
|
||||
new TypeReference<LinkedHashMap<String, String>>() {}, person);
|
||||
Assertions.assertEquals("测试A11", map2.get("name"));
|
||||
Assertions.assertEquals("14", map2.get("age"));
|
||||
Assertions.assertEquals("11213232", map2.get("openid"));
|
||||
assertEquals("测试A11", map2.get("name"));
|
||||
assertEquals("14", map2.get("age"));
|
||||
assertEquals("11213232", map2.get("openid"));
|
||||
}
|
||||
|
||||
@Test
|
||||
@ -79,10 +81,10 @@ public class ConvertToBeanTest {
|
||||
|
||||
final Map<String, String> map2 = ConvertUtil.toMap(String.class, String.class, map1);
|
||||
|
||||
Assertions.assertEquals("1", map2.get("key1"));
|
||||
Assertions.assertEquals("2", map2.get("key2"));
|
||||
Assertions.assertEquals("3", map2.get("key3"));
|
||||
Assertions.assertEquals("4", map2.get("key4"));
|
||||
assertEquals("1", map2.get("key1"));
|
||||
assertEquals("2", map2.get("key2"));
|
||||
assertEquals("3", map2.get("key3"));
|
||||
assertEquals("4", map2.get("key4"));
|
||||
}
|
||||
|
||||
@Test
|
||||
@ -95,11 +97,11 @@ public class ConvertToBeanTest {
|
||||
map.put("subName", "sub名字");
|
||||
|
||||
final SubPerson subPerson = ConvertUtil.convert(SubPerson.class, map);
|
||||
Assertions.assertEquals("88dc4b28-91b1-4a1a-bab5-444b795c7ecd", subPerson.getId().toString());
|
||||
Assertions.assertEquals(14, subPerson.getAge());
|
||||
Assertions.assertEquals("11213232", subPerson.getOpenid());
|
||||
Assertions.assertEquals("测试A11", subPerson.getName());
|
||||
Assertions.assertEquals("11213232", subPerson.getOpenid());
|
||||
assertEquals("88dc4b28-91b1-4a1a-bab5-444b795c7ecd", subPerson.getId().toString());
|
||||
assertEquals(14, subPerson.getAge());
|
||||
assertEquals("11213232", subPerson.getOpenid());
|
||||
assertEquals("测试A11", subPerson.getName());
|
||||
assertEquals("11213232", subPerson.getOpenid());
|
||||
}
|
||||
|
||||
@Test
|
||||
@ -116,10 +118,10 @@ public class ConvertToBeanTest {
|
||||
caseInsensitiveMap.put("Jerry", 2);
|
||||
caseInsensitiveMap.put("tom", 3);
|
||||
|
||||
Map<String, String> map = ConvertUtil.toMap(String.class, String.class, caseInsensitiveMap);
|
||||
Assertions.assertEquals("2", map.get("jerry"));
|
||||
Assertions.assertEquals("2", map.get("Jerry"));
|
||||
Assertions.assertEquals("3", map.get("tom"));
|
||||
final Map<String, String> map = ConvertUtil.toMap(String.class, String.class, caseInsensitiveMap);
|
||||
assertEquals("2", map.get("jerry"));
|
||||
assertEquals("2", map.get("Jerry"));
|
||||
assertEquals("3", map.get("tom"));
|
||||
}
|
||||
@Test
|
||||
public void beanToSpecifyMapTest() {
|
||||
@ -129,9 +131,9 @@ public class ConvertToBeanTest {
|
||||
person.setName("测试A11");
|
||||
person.setSubName("sub名字");
|
||||
|
||||
Map<String, String> map = ConvertUtil.toMap(LinkedHashMap.class, String.class, String.class, person);
|
||||
Assertions.assertEquals("测试A11", map.get("name"));
|
||||
Assertions.assertEquals("14", map.get("age"));
|
||||
Assertions.assertEquals("11213232", map.get("openid"));
|
||||
final Map<String, String> map = ConvertUtil.toMap(LinkedHashMap.class, String.class, String.class, person);
|
||||
assertEquals("测试A11", map.get("name"));
|
||||
assertEquals("14", map.get("age"));
|
||||
assertEquals("11213232", map.get("openid"));
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user