dataMap = new HashMap<>();
Class> clazz = object.getClass();
for (Field field : clazz.getDeclaredFields()) {
try {
field.setAccessible(true);
dataMap.put(field.getName(),field.get(object));
} catch (IllegalAccessException e) {
e.printStackTrace();
return dataMap;
执行多次耗时一般在4-7毫秒左右
2.使用org.apache.commons.beanutils包下的BeanUtils.describe()方法,需要引入commons-beanutils包
import org.apache.commons.beanutils.BeanUtils;
import java.lang.reflect.InvocationTargetException;
import java.util.HashMap;
import java.util.Map;
public class Method02 {
public static void main(String[] args) {
long s1 = System.currentTimeMillis();
Map<String, String> dataMap = objectToMap(new User().setUser());
long s2 = System.currentTimeMillis();
System.out.println("花费时间毫秒:"+(s2-s1));
System.out.println(dataMap);
public static Map<String, String> objectToMap(Object object){
try {
Map<String, String> dataMap = BeanUtils.describe(object);
dataMap.remove("class");//移除多出来的class字段
return dataMap;
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
} catch (NoSuchMethodException e) {
e.printStackTrace();
return new HashMap<>();
执行多次耗时一般在150毫秒左右,甚至更多
3.直接使用put方法往map对象里一个个赋值
import java.util.HashMap;
import java.util.Map;
public class Method03 {
public static void main(String[] args) {
long s1 = System.currentTimeMillis();
User user = new User().setUser();
Map<String,Object> dataMap = new HashMap<>();
dataMap.put("id",user.getId());
dataMap.put("userName",user.getUserName());
dataMap.put("salary",user.getSalary());
dataMap.put("birthday",user.getBirthday());
dataMap.put("jobId",user.getJobId());
long s2 = System.currentTimeMillis();
System.out.println("花费时间毫秒:"+(s2-s1));
System.out.println(dataMap);
执行多次耗时一般在3-9毫秒左右
4.使用BeanMap.create方法,需要引入spring相关jar
import org.apache.commons.beanutils.BeanUtils;
import org.springframework.cglib.beans.BeanMap;
import java.lang.reflect.InvocationTargetException;
import java.util.HashMap;
import java.util.Map;
public class Method04 {
public static void main(String[] args) {
long s1 = System.currentTimeMillis();
Map<String, Object> dataMap = objectToMap(new User().setUser());
long s2 = System.currentTimeMillis();
System.out.println("花费时间毫秒:"+(s2-s1));
System.out.println(dataMap);
public static Map<String, Object> objectToMap(Object object){
Map<String,Object> dataMap = new HashMap<>();
BeanMap beanMap = BeanMap.create(object);
for (Object key : beanMap.keySet()) {
dataMap.put(key+"",beanMap.get(key));
return dataMap;
执行多次耗时一般在180-280毫秒之间,甚至更多
创建对象Userpackage com.xqc; import java.util.Date; public class User { /** * * ID */ private Integer id; /** * * 用户名 */ private String userName; /** * * 岗位ID */ private Long jobId;
* @MethodName: getUserInfoDataByUserId
* @Description: 根据useId查询用户信息,封装成map key:属性名,value:属性值
* home.php?mod=space&uid=952169 userId 用户userId
* @return
public Map<String, String&
import com.alibaba.fastjson.JSONObject;
// 假设list有值
List<Map<String,Object>> list = new ArrayList<>();
// Student对象为测试对象
// 按照如下方式可以实现List&
//调用两个转换方法之后最好做一下判空
public class FindThree {
public static void main(String[] args) throws Exception {
Student student = new Student();
student.setName("jack");
student.setSex("男");
Map<String,String> map=new HashMap<>();
map.put("compare","5");
map.put("compareName","<=");
map.put("curre.
在 Java 中,可以使用第三方的工具将 Map 转换为 Java 对象。其中一种常见的方法是使用 Google 的 Gson 库。
首先,你需要在项目中添加 Gson 的依赖。然后,你可以使用 Gson 的 fromJson() 方法将 Map 转换为 Java 对象。例如:
Map<String, Object> map = new HashMap<>();
map.put("name", "John");
map.put("age", 30);
Gson gson = new Gson();
Person person = gson.fromJson(gson.toJson(map), Person.class);
System.out.println(person.getName()); // prints "John"
System.out.println(person.getAge()); // prints 30
这里假设你已经有了一个名为 Person 的 Java 类,其中包含名为 name 和 age 的属性。
expected START_TAG or END_TAG not TEXT (position: TEXT seen ...<dependency>\n\ua0\ua0\ua0\ua0\ua0\ua
16628
expected START_TAG or END_TAG not TEXT (position: TEXT seen ...<dependency>\n\ua0\ua0\ua0\ua0\ua0\ua
AltoriaPandragon:
js快速判断对象里的每个值是不是空
要努力吖小小:
js快速判断对象里的每个值是不是空
要努力吖小小:
org.apache.dubbo.config.ApplicationConfig#0“ contains illegal character, only digit, letter, ‘-‘, ‘_
米开朗基罗_: