清除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)); }
}
清除bean中所有非基本数据类型的属性值的更多相关文章
- java中循环遍历实体类的属性和数据类型以及属性值
package com.walkerjava.test; import java.lang.reflect.Field; import java.lang.reflect.InvocationTarg ...
- java中如何遍历实体类的属性和数据类型以及属性值
package com.walkerjava.test; import java.lang.reflect.Field; import java.lang.reflect.InvocationTa ...
- 【转】java遍历实体类的属性和数据类型以及属性值
和同学接了个外包的活,由于项目中很多地方要用到poi导出excel,而每次导出都要写很多相同的代码,因为poi的cell.setCellValue();每次设置的都是不同实体bean的属性值,导致代码 ...
- Objective-C中变量采用@property的各个属性值的含义
我们在OC中定义变量,可以自己来定义变量的setter方法来设置变量值,用getter方法来获取变量值.但是当变量数量增多时,还采用手动添加setter/getter方法来操作变量,就会使得程序代码量 ...
- java遍历实体类的属性和数据类型以及属性值
遍历实体类的树形和数据类型一级属性值 /** * 遍历实体类的属性和数据类型以及属性值 * @param model * @throws NoSuchMethodException * @throws ...
- C# 随机给一个全部信息都未知的类类型,如何获取该类的类名、属性个数、属性名、属性的数据类型、属性值?
一.场景假设 假设现在有一个泛型类T的实例对象t,该T类的全部信息都未知. 要求:打印输出实例对象t的类名.属性个数.属性名.属性的数据类型.属性值. 二.解决问题 1.我们根据输出的内容要求定义一个 ...
- spring中如何向一个单例bean中注入非单例bean
看到这个题目相信很多小伙伴都是懵懵的,平时我们的做法大都是下面的操作 @Component public class People{ @Autowired private Man man; } 这里如 ...
- java中两个对象间的属性值复制,比较,转为map方法实现
package com.franson.study.util; import java.lang.reflect.InvocationTargetException; import java.lang ...
- jsp中<c:forEach varStatus="status">的属性值问题
c:forEach varStatus属性 current当前这次迭代的(集合中的)项 index当前这次迭代从 0 开始的迭代索引 count当前这次迭代从 1 开始的迭代计数 first用来表明当 ...
随机推荐
- 服务器监控方案CactiEZ V10.1
CactiEZ中文版是最简单有效的Cacti中文解决方案,整合Spine,RRDTool和美化字体.集成Thold,Monitor,Syslog,Weathermap,Realtime,Errorim ...
- Linux route
一.简介 Linux系统的route命令用于显示和操作IP路由表(show / manipulate the IP routing table).要实现两个不同的子网之间的通信,需要一台连接两个网络的 ...
- [C++] struct memory allocation
MAX-byte alignment (最大单位对齐) typedef struct user USER; typedef struct employee E; struct user{ ]; //t ...
- CentOS7安装redis,并设置开机自启动
卸载redis 停止并删除所有已的rendis目录即可. rm -rf /home/wls/soft/redis-4.0.2 rm -rf /etc/redis* rm -rf /var/log/re ...
- python json.dumps输出中文问题
json.dumps 输出的中文是"\u6211\u662f"格式的,输出中文需要指定ensure_ascii=False. json.dumps(actual,ensure_as ...
- YII2 全局设定 默认参数
$gridviewSettings = [ 'export' => false, 'responsive' => true, 'floatHeader' => true, 'floa ...
- 【转载】SQL注入攻防入门详解
滴答…滴答…的雨,欢迎大家光临我的博客. 学习是快乐的,教育是枯燥的. 博客园 首页 博问 闪存 联系 订阅 管理 随笔-58 评论-2028 文章-5 trackbacks-0 站长 ...
- [可行]setoolkit生成木马软件远程控制实例
查看原文 选1,social-ensineering attacks 选4,create a payload and listener 选2,Windows Reverse_TCP Meterpret ...
- 使用GeoServer+OpenLayers发布和调用WMTS、Vector Tile矢量切片服务 | Publishing and Calling WMTS, Vector Tile Service Using GeoServer + OpenLayers
Web GIS系列: 1.搭建简易Web GIS网站:使用GeoServer+PostgreSQL+PostGIS+OpenLayers3 2.使用GeoServer+QGIS发布WMTS服务 3.使 ...
- Servlet 学习总结-1
JavaWeb应用程序中所有的请求-响应都是由Servlet来完成的.Servlet是Java Web的核心程序,所有的网址(请求-响应)都交给Servlet来处理. Servlet在Web应用中被映 ...