zoukankan      html  css  js  c++  java
  • 清除bean中所有非基本数据类型的属性值

    利用beanutils清除javabean中所有非基本数据类型的属性值:

    import com.google.gson.Gson;
    import lombok.Data;
    import org.apache.commons.beanutils.PropertyUtilsBean;
    import java.beans.PropertyDescriptor;
    
    
    @Data
    public class RequestParams {
        private String name;
        private Integer age;
        private int d;
        private byte bt;
        private char c;
        private short sd;
        private long ld;
        private float ft;
        private double db;
        private boolean tag;
    
        /*
        * 设置bean中属性值(基本数据类型,请使用封装类)为null
        */
        public void clear(){
            try {
                PropertyUtilsBean propertyUtilsBean = new PropertyUtilsBean();
                PropertyDescriptor[] descriptors = propertyUtilsBean.getPropertyDescriptors(this);
                for (int i = 0; i < descriptors.length; i++) {
                    String property = descriptors[i].getName();
                    if (!"class".equals(property)) {
                        if(!descriptors[i].getPropertyType().isPrimitive()){
                            propertyUtilsBean.setProperty(this,property,null);
                        }
                    }
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    
        public static void main(String[] args) {
            RequestParams requestParams = new RequestParams();
            Gson gson = new Gson();
            requestParams.setName("gh");
            requestParams.setD(19);
            byte b = 101;
            requestParams.setBt(b);
            requestParams.setC('a');
            short s = 20;
            requestParams.setSd(s);
            requestParams.setLd(19L);
            requestParams.setFt(19.1F);
            requestParams.setDb(19.9);
            requestParams.setTag(false);
            requestParams.clear();
            System.out.println(gson.toJson(requestParams));
    
        }
    }
  • 相关阅读:
    C++数组释放问题
    C# 线程与进程
    Inspector面板Debug模式
    Unity实现汉诺塔游戏
    Unity中的销毁方法
    如何修改Unity中脚本模板
    序列帧动画
    Unity中的射线和射线图层过滤使用方法
    简单第一人称射击游戏
    C# 集合和泛型
  • 原文地址:https://www.cnblogs.com/Eric-zhao/p/9728962.html
Copyright © 2011-2022 走看看