使用BeanMapper把map和bean之间的转换,list<bean>和list<map>之间的转换(含测试)
来源:互联网 发布:淘宝网借贷 编辑:程序博客网 时间:2024/05/18 23:52
package com.zhiyou.video.test;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import org.omg.CORBA.PUBLIC_MEMBER;
import com.fasterxml.jackson.annotation.JsonTypeInfo.Id;
import com.google.common.collect.ImmutableMap;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import com.zhiyou.video.model.User;
import com.zhiyou.video.model.result;
import net.sf.cglib.beans.BeanMap;
import sun.tools.tree.ThisExpression;
public class beanToMap {
/////// 将bena转换成map/////////////
public static <T> Map<String, Object> beanToMaps(T bean) {
Map<String, Object> map = Maps.newHashMap();
if (bean != null) {
BeanMap map2 = BeanMap.create(bean);
Iterator iterator = map2.keySet().iterator();
while (iterator.hasNext()) {
Object key = (Object) iterator.next();
if (map2.get(key) != null) {
if ((!key.toString().equals("id")) && map2.get(key).toString().equals("0")) {
continue;
}
map.put(key.toString(), map2.get(key));
}
}
}
return map;
}
///////////////// 将map转换成bean//////////////////////
@SuppressWarnings("unchecked")
public static <T> T mapToBean(Map map, T t) {
BeanMap beanMap1 = BeanMap.create(t);
beanMap1.putAll(map);
// beanMap1.getBean();
// return t;
beanMap1.getBean();
return t;
}
///////// List<bean>转换成List<Map<String,Objetc>>///////////
public static <T> List<Map<String, Object>> objectsToMaps(List<T> listbean) {
List<Map<String, Object>> maps = Lists.newArrayList();
if (listbean == null || listbean.size() == 0) {
return null;
}
for (T bean : listbean) {
if (bean != null) {
Map<String, Object> beanToMaps = beanToMaps(bean);
maps.add(beanToMaps);
}
}
return maps;
}
////////////// list<Map<String,Object>>转换成List<bean>///////////////////////////////////////////////
public static <T> List<T> listmapToBean(List<Map<String, Object>> listmap, T t) {
List<T> list = Lists.newArrayList();
if (listmap == null || listmap.size() == 0) {
return null;
}
for (Map<String, Object> map : listmap) {
T t1 = null;
try {
t1 = (T) t.getClass().newInstance();
} catch (InstantiationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
T t2 = mapToBean(map, t1);
System.out.println("t2" + t2);
list.add(t2);
}
return list;
}
/**
* List<?> list 可以赋值任何类型,但是不能添加具体的类型
*
* List<Object> list 只能赋值List<Object>,但是可以添加任何类型
*
* List<?extends Object> list 与 List<?> list没区别
*
*/
public static void main(String[] args) {
/////////////// bean转化成map测试////////////////////
{ System.out.println("bean转化成map测试");
User user=new User();
user.setId(1);
user.setNickName("张三");
Map<String , Object>usermap = beanToMaps(user);
for (String Userkey :usermap.keySet())
System.out.println("user的simplename:"+Userkey+usermap.get(Userkey));
}
////////////// map转化成bean测试//////////////
System.out.println("map转化成bean测试");
Map<String, ? extends Object>map=ImmutableMap.of("id",2,"nickName","李华");
Map<String ,?>map2=ImmutableMap.copyOf(map);
User user2=null;
try {
user2 =mapToBean(map2,User.class.newInstance());
} catch(InstantiationException e)
{ e.printStackTrace();
} catch (IllegalAccessException e)
{
e.printStackTrace();
}
System.out.println("map转化来的bean:"+user2);
/////////// 将List<T>转换成List<map<String,object>>测试//////////////
System.out.println("将List<T>转换成List<map<String,object>>测试");
List<User>users=Lists.newArrayList(new User(1, "张三"),new User(2,"李华"));
List<Map<String ,Object>>listmap=objectsToMaps(users);
for (int i = 0; i <listmap.size(); i++)
{
Map<String , Object>shuxing=listmap.get(i);
Iterator<Entry<String , Object>>
iterator=shuxing.entrySet().iterator();
while(iterator.hasNext()){
Entry<String , Object>entry=iterator.next();
String key=entry.getKey();
Object value=entry.getValue();
System.out.println("属性名为:"+key+"属性值为:"+value);
}
}
////////////////////list<map>转换成list<bean>//////////////
System.out.println("list<map>转换成list<bean>");
Map<String , ?>map0=ImmutableMap.of("id",1,"nickName","张三","city","郑州");
Map<String , Object>map01=ImmutableMap.copyOf(map0);
Map<String , ?>map1=ImmutableMap.of("id",2,"nickName","李四","sex",3);
Map<String , Object>map11=ImmutableMap.copyOf(map1);
List<Map<String, Object>>listmap1=Lists.newArrayList(map01,map11);
List<User>users1=null;
try {
users1=listmapToBean(listmap1,User.class.newInstance());
} catch (InstantiationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println(users);
for (User user1 : users) {
System.out.println("User的信息为:"+user1.getId()+user1.getNickName()+user1.getSex());
}
}
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import org.omg.CORBA.PUBLIC_MEMBER;
import com.fasterxml.jackson.annotation.JsonTypeInfo.Id;
import com.google.common.collect.ImmutableMap;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import com.zhiyou.video.model.User;
import com.zhiyou.video.model.result;
import net.sf.cglib.beans.BeanMap;
import sun.tools.tree.ThisExpression;
public class beanToMap {
/////// 将bena转换成map/////////////
public static <T> Map<String, Object> beanToMaps(T bean) {
Map<String, Object> map = Maps.newHashMap();
if (bean != null) {
BeanMap map2 = BeanMap.create(bean);
Iterator iterator = map2.keySet().iterator();
while (iterator.hasNext()) {
Object key = (Object) iterator.next();
if (map2.get(key) != null) {
if ((!key.toString().equals("id")) && map2.get(key).toString().equals("0")) {
continue;
}
map.put(key.toString(), map2.get(key));
}
}
}
return map;
}
///////////////// 将map转换成bean//////////////////////
@SuppressWarnings("unchecked")
public static <T> T mapToBean(Map map, T t) {
BeanMap beanMap1 = BeanMap.create(t);
beanMap1.putAll(map);
// beanMap1.getBean();
// return t;
beanMap1.getBean();
return t;
}
///////// List<bean>转换成List<Map<String,Objetc>>///////////
public static <T> List<Map<String, Object>> objectsToMaps(List<T> listbean) {
List<Map<String, Object>> maps = Lists.newArrayList();
if (listbean == null || listbean.size() == 0) {
return null;
}
for (T bean : listbean) {
if (bean != null) {
Map<String, Object> beanToMaps = beanToMaps(bean);
maps.add(beanToMaps);
}
}
return maps;
}
////////////// list<Map<String,Object>>转换成List<bean>///////////////////////////////////////////////
public static <T> List<T> listmapToBean(List<Map<String, Object>> listmap, T t) {
List<T> list = Lists.newArrayList();
if (listmap == null || listmap.size() == 0) {
return null;
}
for (Map<String, Object> map : listmap) {
T t1 = null;
try {
t1 = (T) t.getClass().newInstance();
} catch (InstantiationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
T t2 = mapToBean(map, t1);
System.out.println("t2" + t2);
list.add(t2);
}
return list;
}
/**
* List<?> list 可以赋值任何类型,但是不能添加具体的类型
*
* List<Object> list 只能赋值List<Object>,但是可以添加任何类型
*
* List<?extends Object> list 与 List<?> list没区别
*
*/
public static void main(String[] args) {
/////////////// bean转化成map测试////////////////////
{ System.out.println("bean转化成map测试");
User user=new User();
user.setId(1);
user.setNickName("张三");
Map<String , Object>usermap = beanToMaps(user);
for (String Userkey :usermap.keySet())
System.out.println("user的simplename:"+Userkey+usermap.get(Userkey));
}
////////////// map转化成bean测试//////////////
System.out.println("map转化成bean测试");
Map<String, ? extends Object>map=ImmutableMap.of("id",2,"nickName","李华");
Map<String ,?>map2=ImmutableMap.copyOf(map);
User user2=null;
try {
user2 =mapToBean(map2,User.class.newInstance());
} catch(InstantiationException e)
{ e.printStackTrace();
} catch (IllegalAccessException e)
{
e.printStackTrace();
}
System.out.println("map转化来的bean:"+user2);
/////////// 将List<T>转换成List<map<String,object>>测试//////////////
System.out.println("将List<T>转换成List<map<String,object>>测试");
List<User>users=Lists.newArrayList(new User(1, "张三"),new User(2,"李华"));
List<Map<String ,Object>>listmap=objectsToMaps(users);
for (int i = 0; i <listmap.size(); i++)
{
Map<String , Object>shuxing=listmap.get(i);
Iterator<Entry<String , Object>>
iterator=shuxing.entrySet().iterator();
while(iterator.hasNext()){
Entry<String , Object>entry=iterator.next();
String key=entry.getKey();
Object value=entry.getValue();
System.out.println("属性名为:"+key+"属性值为:"+value);
}
}
////////////////////list<map>转换成list<bean>//////////////
System.out.println("list<map>转换成list<bean>");
Map<String , ?>map0=ImmutableMap.of("id",1,"nickName","张三","city","郑州");
Map<String , Object>map01=ImmutableMap.copyOf(map0);
Map<String , ?>map1=ImmutableMap.of("id",2,"nickName","李四","sex",3);
Map<String , Object>map11=ImmutableMap.copyOf(map1);
List<Map<String, Object>>listmap1=Lists.newArrayList(map01,map11);
List<User>users1=null;
try {
users1=listmapToBean(listmap1,User.class.newInstance());
} catch (InstantiationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println(users);
for (User user1 : users) {
System.out.println("User的信息为:"+user1.getId()+user1.getNickName()+user1.getSex());
}
}
}
最后:第一篇文章,先试试水,欢迎留言!!!
阅读全文
0 0
- 使用BeanMapper把map和bean之间的转换,list<bean>和list<map>之间的转换(含测试)
- Spring json和 Map, List等bean的转换
- 利用Gson使json字符串与java bean/list/map之间的相互转换
- List,Set,Map和数组之间的相互转换
- 使用内省机制实现Map与Bean之间的转换
- map与bean和list<Map>与List<bean>互相转换
- List转换String,String转换List,Map转换String,String转换Map之间的转换类
- Bean类和Map的相互转换
- Java Map和Bean之前的转换
- Map 和 java Bean 的相互转换
- java注解实现map与bean之间的转换
- java bean和json之间的转换
- json数据和bean之间的转换
- Xml和bean之间的相互转换
- 利用jackson在json~bean~list之间的转换
- java处理json的工具类(list,map和json的之间的转换)
- spring中bean的高级属性之list, set, map和props元素(含sample)
- JAVA中List转换String,String转换List,Map转换String,String转换Map之间的转换类
- C语言比较两个数的大小使用if-else语句和条件运算符
- Linux下mongodb部署
- 【数据结构笔记】三、树与二叉树
- 清除浮动的方法及优缺点
- python 捕捉和模拟鼠标键盘操作
- 使用BeanMapper把map和bean之间的转换,list<bean>和list<map>之间的转换(含测试)
- 连接文件描述
- 区块链技术学习(0):搭建truffle开发环境
- 9.20第三周java作业
- 开发android app,你会用到哪些开源框架?
- url传值失败
- lua中面向对象(class)实现探索(一)
- 2017.9.23步入大三狗的我
- Linux操作系统的安装