java map 转bean(map和bean转换)
本文目录
- map和bean转换
- java大神求解答
- java 里的bean与bean之间的对比
- json数组转java对象怎么转
- java对象怎么转json数组 跪求啊
- 在android开发中,map可以完全替代bean吗
- java 中怎么合并同类对象的属性
- java,怎么读取HashMap的bean对象值
map和bean转换
package *****;
import *****;
import *****;
import *****;
import ********.*****;
import *****;
import *****;
import *****;
public class TestMapBeanConvert {
private static Logger LOGGER = *****(*****);
// 将map转为bean
public staticT mapToBean(Map《String, Object》 map, Class clz) {
T bean = null;
try {
bean = *****();
// 遍历map中的key,若bean中有这个属性(key),将key对应的value赋值给bean对应的属性
*****(bean, map); // 将map转为bean
} catch (Exception e) {
*****("ERROR ------》 " + *****());
}
return bean;
}
// 将bean转为map
public staticMapbeanToMap(Object bean) {
Map《String, String》 map = null;
try {
map = *****(bean); // 将bean转为map
} catch (Exception e) {
*****("ERROR ------》 " + *****());
}
return map;
}
public static void main(String args) {
Map《String, Object》 map = new HashMap《String, Object》();
*****("name", "六月");
*****("age",6);
*****("-------------------- from map to bean --------------------");
User user = mapToBean(map, *****);*****(*****());
*****("-------------------- from bean to map --------------------");
Map《String, String》 toMap = beanToMap(user);
for(Entry《String, String》 entry:*****()){
*****("key=" +*****() +" and value="+*****());
}
}
}
java大神求解答
您好,这样的:
1、ArrayLis中存放的是Object,你直接get出来会当作Object来处理,Object自然没有getChengji()
这些方法。故使用是必须要强制类型转换为XS类型。
如果你想不这样转换,可以用泛型,如:ArrayList《XS》 aa1=new ArrayList《XS》().
2、ArrayList的遍历的作用是访问List中的每个元素,比如你这里肯定是为了输出每个对象的Chengji。
3、没有关系的话,强制类型转换会抛出异常的,转换前的实际类型必须是转换后类型本身或者基类。这里转换前的实际类型就是XS,所以这样转换是安全的。
java 里的bean与bean之间的对比
PO(persistant object) 持久对象
在o/r映射的时候出现的概念,如果没有o/r映射,没有这个概念存在了。通常对应数据模型(数据库),本身还有部分业务逻辑的处理。可以看成是与数据库中的表相映射的java对象。最简单的PO就是对应数据库中某个表中的一条记录,多个记录可以用PO的集合。PO中应该不包含任何对数据库的操作。
VO(value object) 值对象
通常用于业务层之间的数据传递,和PO一样也是仅仅包含数据而已。但应是抽象出的业务对象,可以和表对应,也可以不,这根据业务的需要.
TO(Transfer Object),数据传输对象
在应用程序不同tie(关系)之间传输的对象
BO(business object) 业务对象
从业务模型的角度看,见UML元件领域模型中的领域对象。封装业务逻辑的java对象,通过调用DAO方法,结合PO,VO进行业务操作。
POJO(plain ordinary java object) 简单无规则java对象
纯的传统意义的java对象。就是说在一些Object/Relation Mapping工具中,能够做到维护数据库表记录的persisent object完全是一个符合Java Bean规范的纯Java对象,没有增加别的属性和方法。
DAO(data access object) 数据访问对象
是一个sun的一个标准j2ee设计模式,这个模式中有个接口就是DAO,它负持久层的操作。为业务层提供接口。此对象用于访问数据库。通常和PO结合使用,DAO中包含了各种数据库的操作方法。通过它的方法,结合PO对数据库进行相关的操作。夹在业务逻辑与数据库资源中间。配合VO, 提供数据库的CRUD操作…
O/R Mapper 对象/关系 映射
定义好所有的mapping之后,这个O/R Mapper可以帮我们做很多的工作。通过这些mappings,这个O/R Mapper可以生成所有的关于对象保存,删除,读取的**L语句,不再需要写那么多行的DAL代码了。
json数组转java对象怎么转
首先需要 comm***-beanutils jar包,然后转bean的方法为:
/**
*
* @Title: transMap2Bean
* @param:@param map
* @param:@param obj
* @return:void
* @Description:Map --》 Bean 1: 利用Introspector,PropertyDescriptor实现 Map --》 Bean
* @throws
*/
public static void transMap2Bean(Map《String, Object》 map, Object obj) {
try {
BeanInfo beanInfo = *****(*****());
PropertyDescriptor propertyDescriptors = *****();
for (PropertyDescriptor property : propertyDescriptors) {
String key = *****();
if (*****(key)) {
Object value = *****(key);
// 得到property对应的setter方法
Method setter = *****();
*****(obj, value);
}
}
} catch (Exception e) {
*****("transMap2Bean Error " + e);
}
return;
}
java对象怎么转json数组 跪求啊
JSON-lib这个Java类包用于把bean,map和XML转换成JSON并能够把JSON转回成bean和DynaBean。
***隐藏网址***
还要需要的第3方包:
********(***以上版本)
*****
*****(*****)
*****
1、List
Java代码
boolean{true,false,true};
JSONArray jsonArray1 = *****( boolArray );
*****( jsonArray1 );
// prints
List list =newArrayList();
*****("first");
*****("second");
JSONArray jsonArray2 = *****( list );
*****( jsonArray2 );
// prints
JSONArray jsonArray3 = *****("");
*****( jsonArray3 );
// prints
2、Map
Java代码
Map map =newHashMap();
*****("name","json");
*****("bool", ***** );
*****("int",newInteger(1) );
*****("arr",newString{"a","b"} );
*****("func","function(i){ return *****; }");
JSONObject json = *****( map );
*****( json );
//{"func":function(i){ return *****,"int":1,"name":"json","bool":true}
3、BEAN
Java代码
/**
* *****
private String name = "json";
private int pojoId = 1;
private char{’a’,’f’};
private String func1 = "function(i){ return ********; }";
private JSONFunction func2 = new JSONFunction(new String;");
*/
JSONObject jsonObject = *****(newJsonBean() );
*****( jsonObject );
//{"func1":function(i){ return ********; }}
4、BEANS
Java代码
/**
* private int row ;
private int col ;
private String value ;
*
*/
List list =newArrayList();
JsonBean2 jb1 =newJsonBean2();
*****(1);
*****(1);
*****("xx");
JsonBean2 jb2 =newJsonBean2();
*****(2);
*****(2);
*****("");
*****(jb1);
*****(jb2);
JSONArray ja = *****(list);
*****( *****() );
//
5、String to bean
Java代码
String json ="{name=\"json\",bool:true,int:1,double:***,func:function(a){ return a; },array:}";
JSONObject jsonObject = *****(json);
Object bean = *****( jsonObject );
assertEquals( *****("name"), *****( bean,"name") );
assertEquals( *****("bool"), *****( bean,"bool") );
assertEquals( *****("int"), *****( bean,"int") );
assertEquals( *****("double"), *****( bean,"double") );
assertEquals( *****("func"), *****( bean,"func") );
List expected = *****( *****("array") );
assertEquals( expected, (List) *****( bean,"array") );
Java代码
String json ="{\"value\":\"xx\",\"row\":1,\"col\":1}";
JSONObject jsonObject = *****(json);
JsonBean2 bean = (JsonBean2) *****( jsonObject, *****);
assertEquals( *****("col"),newInteger( *****()) );
assertEquals( *****("row"),newInteger( *****() ) );
assertEquals( *****("value"), *****() );
6 json to xml
1)
JSONObject json = new JSONObject( true );
String xml = *****( json );
《o class="object" null="true"》
2)
JSONObject json = *****("{\"name\":\"json\",\"bool\":true,\"int\":1}");
String xml = *****( json );
《o class="object"》
《name type="string"》json《/name》
《bool type="boolean"》true《/bool》
《int type="number"》1《/int》
《/o》
《o class="object"》
《name type="string"》json《/name》
《bool type="boolean"》true《/bool》
《int type="number"》1《/int》
《/o》
3)
JSONArray json = *****("");
String xml = *****( json );
《a class="array"》
《e type="number"》1《/e》
《e type="number"》2《/e》
《e type="number"》3《/e》
《/a》
7 、xml to json
《a class="array"》
《e type="function" params="i,j"》
return matrix;
《/e》
《/a》
《a class="array"》
《e type="function" params="i,j"》
return matrix;
《/e》
《/a》
JSONArray json = (JSONArray) *****( xml );
*****( json );
// prints
在android开发中,map可以完全替代bean吗
map只能存储键值对,或者嵌套使用(感觉略复杂)。
而bean对象却是可以存储一个完整的包含多属性的复杂对象,在界面绘制时一般用list(map《key,value》)来传递对应的值,但是请求回调接收时还是用bean来装载对象的好。
javaBean的话就是有get/set方法,可以对数据进行一些必要的操作,还有javaBean里面可以添加方法.map的话字段你不确定,需要额外的写好那些key是什么东西。
javaBean字段可以添加注释说明,类型也是固定的,那么使用者就知道该放什么数据,而map如果存放了多个类型只能是object类型的,使用还得知道具体类型,还要做相应的类型转换!)
简单的说:我认为map不能完全替代bean,只是在使用中某些场合可以适当选择map使用下。
java 中怎么合并同类对象的属性
package *****;
import *****;
import *****;
import *****;
import *****;
import *****;
import *****;
import *****;
import *****;
import *****;
import *****;
import *****;
import *****;
import *****;
import *****;
import ********.*****;public class ExtendObject {
/**
* 将相同类型的对象的内容向右合并
* @param beanType 返回对象的类型
* @param initObject 包含原始数据的对象
* @param updateObject包含修改后数据的对象
* @return返回两个对象的合并,相同属性的值如果convertedObject中包含,且不为null的话取它的值,否则取returnedObject的值
*/
@SuppressWarnings("unchecked")
public Object extendObject(Object beanType, Object initObject, Object updateObject){
Map map1 = BeanToMap(initObject);
Map map2 = BeanToMap(updateObject);
List list = getMapKeySet(map1);
for(int i=0; i《*****(); i++){Object map2Value = *****(*****(i));
if(null!=map2Value){
*****(*****(i), map2Value);
}
}
return MapToBean(beanType, map1);
}
/**
* 将map转化为bean
* @param bean 将要转化成为的对象
* @param map 被转化的map对象
*/
@SuppressWarnings("unchecked")
public Object MapToBean(Object bean,Map map){
Object type = null;
Date date = null ;
try {
type = *****().newInstance();
BeanInfo beanInfo = *****(*****());
for(PropertyDescriptor p: *****()){
String propertyName = *****();
Object mapValue = *****(propertyName);
//去掉键为’class’的键值对
if(null!=mapValue&&!"class".equals(propertyName)){
//判断该字符转是否为日期类型
if(*****((String)mapValue)){
String dateType = *****((String)mapValue);
if(*****("yyyy-MM-dd HH:mm:ss")){
date = new SimpleDateFormat(dateType).parse((String)mapValue);
*****().invoke(type, new Timestamp(*****()));
}else{
*****().invoke(type, date);
}
//判断该字符串是否为整型,同时忽略值为数字,但是类型是字符串的Id们
}else if(*****((String) mapValue)&&(!*****("/w*Id", propertyName))){
*****().invoke(type, *****((String)mapValue).intValue());
//默认剩下的类型都是字符串型
}else{
*****().invoke(type, mapValue);
}
}
}
} catch (IntrospectionException e) {
*****();
} catch (InstantiationException e) {
*****();
} catch (IllegalAccessException e) {
*****();
} catch (IllegalArgumentException e) {
*****();
} catch (InvocationTargetException e) {
*****();
} catch (ParseException e) {
*****();
}
return type;
}
/**
* 将bean转化为map
* @param object
* @return
*/
@SuppressWarnings("unchecked")
public Map BeanToMap(Object object){
Map map = null ;
try {
map = *****(object);
} catch (IllegalAccessException e) {
*****();
} catch (InvocationTargetException e) {
*****();
} catch (NoSuchMethodException e) {
*****();
}
return map;
}
/**
* 获得对应Map的键值
* @param map
* @return
*/
@SuppressWarnings("unchecked")
public List getMapKeySet(Map map){
List list = new ArrayList();
Iterator iterator = *****().iterator();
while(*****()){
*****(*****());
}
return list;
}///**
// * @param args
// */
//public static void main(String args) throws Exception{
//*****(isInt("1"));
//Admin a = new Admin();
//*****("1");
//*****("1");
//
//Admin b = new Admin();
//*****("2");
//Admin c = (Admin)extendObject(new Admin(),a,b);
//*****(*****()+"----"+*****());
//}
}
------------------------------------------------------------------------------------
package *****;
import *****;
public class CheckType {
/**
* 判断该字符串是否为日期类型
* @param str
* @return
*/
public static boolean isDateType(String str){
Boolean b = false;
String dateType1 ="/d{4}-/d{2}-/d{2}/s/d{2}:/d{2}:/d{2}./d*";
String dateType2 ="/d{4}-/d{2}-/d{2}/s/d{2}:/d{2}:/d{2}";
String dateType3 ="/d{4}-/d{2}-/d{2}";
if(*****(dateType1, str)||
*****(dateType2, str)||
*****(dateType3, str)){
b = true;
}
return b;
}/**
* 返回字符串所属日期格式
* @param str
* @return
*/
public static String getDateType(String str){
String dateType1 ="/d{4}-/d{2}-/d{2}/s/d{2}:/d{2}:/d{2}./d*";
String dateType2 ="/d{4}-/d{2}-/d{2}/s/d{2}:/d{2}:/d{2}";
String dateType3 ="/d{4}-/d{2}-/d{2}";
if(*****(dateType1, str)||
*****(dateType2, str)){
return"yyyy-MM-dd HH:mm:ss";
}
if(*****(dateType3, str)){
return"yyyy-MM-dd";
}
return null;
}
/**
* 判断该字符串是否为整型
* @param str
* @return
*/
public static boolean isInt(String str){
Boolean b = false;
if(*****("/d+", str)){
b = true;
}
return b;
}
}
java,怎么读取HashMap的bean对象值
你是要根据key拿出bean的吧,那就根据key拿出来呗
*****("abc");
*****("aaa");
*****("bbb");
如果要一次性拿出来
Collection valueCollection = *****()
更多文章:
jc***ole linux(如何使用JCONSOLE 监控eclipse的tomcat)
2026年4月22日 15:20
aspen plus 下载(aspen plus v11安装到最后一步出现一个弹窗)
2026年4月22日 15:00
redis集群安装(redis 集群 Waiting for the cluster to join..一直等待)
2026年4月22日 14:40
大学生慕课网(为什么中国大学生慕课课时刷完了却不显示最后一个课时)
2026年4月22日 14:20
presentation是什么意思(presentation什么意思中文翻译)
2026年4月22日 13:40
flex 垂直居中和水平居中(谁能帮我解释下display:flex; margin:auto实现垂直水平居中的原理)
2026年4月22日 13:20





