zoukankan      html  css  js  c++  java
  • java对象转变为map

    直接上代码

    package com.**.**.**.common;
    
    import com.**.**.**.util.JsonUtils;
    import org.springframework.beans.BeanUtils;
    import org.springframework.util.ReflectionUtils;
    
    import java.util.Arrays;
    import java.util.HashMap;
    import java.util.Map;
    
    public class ClassUtils {
    
        public static void main(String[] args) {
            User u = new User(1L, "zyydd", "北京", "110");
            System.out.println(JsonUtils.toJSONString(u));
            Map<String, Object> map = parseObj2Map(u);
            System.out.println(JsonUtils.toJSONString(map));
        }
    
        public static Map<String, Object> parseObj2Map(Object args) {
            return Arrays.stream(BeanUtils.getPropertyDescriptors(args.getClass()))
                    .filter(pd -> !"class".equals(pd.getName()))
                    .collect(HashMap::new,
                            (map, pd) -> map.put(pd.getName(), ReflectionUtils.invokeMethod(pd.getReadMethod(), args)),
                            HashMap::putAll);
        }
    
        public static class User {
            Long id;
            String name;
            String addr;
            String mobile;
    
            User(Long id, String name, String addr, String mobile) {
                this.id = id;
                this.name = name;
                this.addr = addr;
                this.mobile = mobile;
            }
    
            public Long getId() {
                return id;
            }
    
            public void setId(Long id) {
                this.id = id;
            }
    
            public String getName() {
                return name;
            }
    
            public void setName(String name) {
                this.name = name;
            }
    
            public String getAddr() {
                return addr;
            }
    
            public void setAddr(String addr) {
                this.addr = addr;
            }
    
            public String getMobile() {
                return mobile;
            }
    
            public void setMobile(String mobile) {
                this.mobile = mobile;
            }
        }
    
    }

    执行结果

  • 相关阅读:
    学习记录(1):intellij idea 导入gradle
    javac不是内部或外部命令
    robot framework测试https接口实例
    py文件变成可执行exe ,遇到的问题及解决方法
    python 实现爬虫下载网页的方法
    [Usaco2009 Open]干草堆
    【题解】[USACO17JAN]Balanced Photo G
    【题解】[BalticOI 2014]friends
    从恒定状态出发,求解未知状态
    Scoi 组队
  • 原文地址:https://www.cnblogs.com/zhenyuyaodidiao/p/11855848.html
Copyright © 2011-2022 走看看