1. 程式人生 > >清除bean中所有非基本數據類型的屬性值

清除bean中所有非基本數據類型的屬性值

[] col string bsp json oat .get type() lse

利用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)); } }

清除bean中所有非基本數據類型的屬性值