java 对象转map,去掉null

java 对象转map,去掉nullpublicstaticMap<String,Object>beanToMap(Objectobject){Map<String,Object>map=null;try{map=newHashMap<String,Object>();Bean…

大家好,又见面了,我是你们的朋友全栈君。

    public static Map<String,Object> beanToMap(Object object){
        Map<String,Object> map = null;
        try {
            map = new HashMap<String, Object>();

            BeanInfo beanInfo = Introspector.getBeanInfo(object.getClass());
            PropertyDescriptor[] propertyDescriptors = beanInfo.getPropertyDescriptors();
            for (PropertyDescriptor property : propertyDescriptors) {
                String key = property.getName();
                if (key.compareToIgnoreCase("class") == 0) {
                    continue;
                }
                Method getter = property.getReadMethod();
                Object value = getter!=null ? getter.invoke(object) : null;
                map.put(key, value);
            }
            //key 可能会把自己的class 和hashcode编进去,直接去掉
            map.remove("class");

        } catch (Exception e) {
            e.printStackTrace();
            return new HashMap<>();
        }
        Set<String> set = map.keySet();
        Iterator<String> it = set.iterator();
        while (it.hasNext()){
            String key = it.next();
            if (map.get(key)==null || map.get(key)==""){
                map.remove(key);
                set = map.keySet();
                it = set.iterator();
            }
        }
        return map;
    }
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/139824.html原文链接:https://javaforall.net

(0)
上一篇 2022年5月7日 下午8:00
下一篇 2022年5月7日 下午8:00


相关推荐

  • 加密(对称、非对称),签名(算法),指纹和指纹算法,认证证书CA

    加密(对称、非对称),签名(算法),指纹和指纹算法,认证证书CAhttps www cnblogs com JeffreySun archive 2010 06 24 1627247 htmlhttps blog csdn net gdhgr article details 83302781 有一个问题 我在现代数字证书种看到 签名算法 sha256RSA 签名哈希算法 SHA256 指纹算法 sha1 指纹 20 字节 hash 之后在加密后

    2026年3月17日
    3
  • HorizontalScrollView 自动滑动「建议收藏」

    HorizontalScrollView 自动滑动「建议收藏」从事开发Android,坑人的就是设备的差异性,相同的功能在相同的生产厂商不同的版本设备,或者是不同的生产厂商的设备实际效果具有差异性,最近在项目里面用到HorizontalScrollView功能,里面有10个按钮,要把其中第四个按钮移动到最左边,这个功能倒是很好实现,方法也很多,使用ScrollTo一类的函数就可以实现,在其他的手机设备上很好,没有问题,但是在索尼SonyErissson这

    2022年7月26日
    24
  • java中的io流知识总结_java数据流

    java中的io流知识总结_java数据流无意中发现了一个巨牛的人工智能教程,忍不住分享一下给大家。教程不仅是零基础,通俗易懂,而且非常风趣幽默,像看小说一样!觉得太牛了,所以分享给大家。点这里可以跳转到教程。内容概要JavaIO流的设计不得不让人拍案叫绝,佩服设计者鬼斧天工的手法。如果你是Java初学者,我敢保证第一次接触Java的IO类,一定会”狂晕!”,倒不是因为它有多么难学而是太多,而且及其让人有种“不识庐山…

    2022年10月20日
    4
  • 别再只懂调API!这5本大模型进阶神书,让你从入门到精通,玩转深度学习与大模型开发!

    别再只懂调API!这5本大模型进阶神书,让你从入门到精通,玩转深度学习与大模型开发!

    2026年3月16日
    3
  • OpenCV 的颜色空间转换

    OpenCV 的颜色空间转换

    2021年11月21日
    47
  • Linux常用命令及面试题

    Linux常用命令及面试题目录 文件处理命令 cd 切换工作目录 cd 返回主目录 cdhome liu 跳转当前目录 cd 当前目录向上移动两级 ls 列出指定目录内容 l 以列表形式查看 h 以一种人性化的方式查看 也是文件的大小以合适的单位显示 a 查看所有文件 包括

    2026年3月17日
    1

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号