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());
}
}
}
最后:第一篇文章,先试试水,欢迎留言!!!