将Entity转为Map类型
来源:互联网 发布:sst nc数据下载 编辑:程序博客网 时间:2024/05/22 03:33
1、实体类
import java.util.Date;
public class Game {
private int id;
private String gameName;
private Date time;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getGameName() {
return gameName;
}
public void setGameName(String gameName) {
this.gameName = gameName;
}
public Date getTime() {
return time;
}
public void setTime(Date time) {
this.time = time;
}
public String toString() {
return "Game [id=" + id + ", gameName=" + gameName + ", time=" + time
+ "]";
}
}
2、处理方法
public class Swap {
public static void main(String[] args) {
Game game = new Game();
game.setId(1);
game.setGameName("梦幻西游");
game.setTime(new Date());
// 将对象转为实体
System.out.println(go(game));
// {id=1, time=Wed Apr 27 11:20:46 CST 2016, class=class Game, gameName=梦幻西游}
}
public static Map<String, Object> go(Object obj){
Class c = null;
Map<String, Object> dataMap = new HashMap<String, Object>();
try {
c = Class.forName(obj.getClass().getName());
//System.out.println(c);//class Game
Method[] methodArr = c.getMethods();
for (Method method : methodArr) {
/*
* 所有方法:
* public java.lang.String Game.toString()
public int Game.getId()
public void Game.setId(int)
public void Game.setGameName(java.lang.String)
public void Game.setTime(java.util.Date)
public java.lang.String Game.getGameName()
public java.util.Date Game.getTime()
*/
//System.out.println(method);
/* method.getName:所有方法名
* toString
getId
setId
setGameName
setTime
getGameName
getTime
wait
wait
wait
equals
hashCode
getClass
notify
notifyAll
*/
//System.out.println(method.getName());
String methodName = method.getName();
if (methodName.startsWith("get")){
/* method.invoke(obj):
* 1
梦幻西游
Wed Apr 27 11:09:15 CST 2016
class Game
*/
Object value = method.invoke(obj);
// 从第三位开始截取
String key = methodName.substring(3);
// 经典
key = key.substring(0,1).toLowerCase() + key.substring(1);
//System.out.println(key);// id gameName, time class
if (null != value){
/*
* java.lang.Integer
java.lang.String
java.util.Date
java.lang.Class
*/
//System.out.println(value.getClass().getName());
if(value.getClass().getClassLoader() != null){ //处理自定义的对象类型
go(value);
}
if("java.util.Date".equals(value.getClass().getName())){
// value = DateUtil.format((Date)value);
//System.out.println(value.getClass().getName());
}
dataMap.put(key, value == null ? "" : value);
} else {
dataMap.put(key, "");
}
}
}
} catch (Exception e) {
}
return dataMap;
}
}
阅读全文
0 0
- 将Entity转为Map类型
- 将一个LIST分组,转为map<string,list>类型
- 利用fastjson将jsonobject对象转为map类型
- 将对象转为Map
- lambda将list转为map
- 将string转为HtmlElement类型
- 将Map转为Json和将String转为Json
- 如何将IntPtr类型转为Image类型
- 将String类型转为int类型
- 将任意类型转为number类型
- 将bean对象转为map对象
- 使用Gson将json字符串转为map
- 利用gson将JSON格式转为Map
- ios 将时间戳转为时间类型
- js将网址转为urlencode类型
- QT 下将Qstring转为char *类型
- 如何将TParams类型转为Variant?
- 如何将TParams类型转为Variant?[转]
- Vue2.0开发购物车实例
- 历届试题 表格计算
- PHP如何实现文件写入前追加,如依次写入"我 爱 你",而实现的效果是"你爱我"
- ssh 设置网络隧道及setsid 后台启动
- IMWeb提升营Day1 | 训练题3:从尾到头打印链表
- 将Entity转为Map类型
- [数据库]MySql单表多表查询常用技巧(不断更新中)
- Map与Object互转
- java中euqals和==的区别总结
- Vue.js实现多条件筛选、搜索、排序及分页的表格功能
- spring测试套件
- Q&A——UI输入(一)
- OSI七层与TCP/IP五层网络架构详解
- 【2015年第六届蓝桥杯C/C++程序设计本科B组决赛 居民集会(编程大题) 】