java对象转map怎么操作(java对象转化为map)

发布时间:2022-11-09

本文目录一览:

  1. 怎么把集合里的对象转换成map
  2. java bean怎么转化为map 不用第三方
  3. java中怎么list 转成 map?
  4. 关于java如何转成map
  5. Java中 如何把Object类型强转成Map类型
  6. Java中如何把字符串转换成map

怎么把集合里的对象转换成map

Java的话使用foreach循环进行操作

List<对象A> list;
Map<String, Object> map = new HashMap<String, Object>();
for(对象A a : list){
    map.put(对象A的主键或唯一标识, a);
}

注意:如果对象A的主键或唯一标识为int或Integer,可以使用.toString()进行转化为String类型

java bean怎么转化为map 不用第三方

在做导入的时候,遇到了需要将map对象转化成javabean的问题,也就是说,不清楚javabean的内部字段排列,只知道map的 key代表javabean的字段名,value代表值。 那现在就需要用转化工具了。是通用的哦! 首先来看 JavaBean 转化成Map的方法:

/**
 * 将一个 JavaBean 对象转化为一个 Map
 * @param bean 要转化的JavaBean 对象
 * @return 转化出来的 Map 对象
 * @throws IntrospectionException 如果分析类属性失败
 * @throws IllegalAccessException 如果实例化 JavaBean 失败
 * @throws InvocationTargetException 如果调用属性的 setter 方法失败
 */
@SuppressWarnings({ "rawtypes", "unchecked" })
public static Map convertBean(Object bean)
throws IntrospectionException, IllegalAccessException, InvocationTargetException {
    Class type = bean.getClass();
    Map returnMap = new HashMap();
    BeanInfo beanInfo = Introspector.getBeanInfo(type);
    PropertyDescriptor[] propertyDescriptors = beanInfo.getPropertyDescriptors();
    for (int i = 0; i < propertyDescriptors.length; i++) {
        PropertyDescriptor descriptor = propertyDescriptors[i];
        String propertyName = descriptor.getName();
        if (!propertyName.equals("class")) {
            Method readMethod = descriptor.getReadMethod();
            Object result = readMethod.invoke(bean, new Object[0]);
            if (result != null) {
                returnMap.put(propertyName, result);
            } else {
                returnMap.put(propertyName, "");
            }
        }
    }
    return returnMap;
}

下面是将Map转化成JavaBean对象的方法:

/**
 * 将一个 Map 对象转化为一个 JavaBean
 * @param type 要转化的类型
 * @param map 包含属性值的 map
 * @return 转化出来的 JavaBean 对象
 * @throws IntrospectionException 如果分析类属性失败
 * @throws IllegalAccessException 如果实例化 JavaBean 失败
 * @throws InstantiationException 如果实例化 JavaBean 失败
 * @throws InvocationTargetException 如果调用属性的 setter 方法失败
 */
@SuppressWarnings("rawtypes")
public static Object convertMap(Class type, Map map)
throws IntrospectionException, IllegalAccessException,
InstantiationException, InvocationTargetException {
    BeanInfo beanInfo = Introspector.getBeanInfo(type); // 获取类属性
    Object obj = type.newInstance(); // 创建 JavaBean 对象
    // 给 JavaBean 对象的属性赋值
    PropertyDescriptor[] propertyDescriptors = beanInfo.getPropertyDescriptors();
    for (int i = 0; i < propertyDescriptors.length; i++) {
        PropertyDescriptor descriptor = propertyDescriptors[i];
        String propertyName = descriptor.getName();
        if (map.containsKey(propertyName)) {
            // 下面一句可以 try 起来,这样当一个属性赋值失败的时候就不会影响其他属性赋值。
            Object value = map.get(propertyName);
            Object[] args = new Object[1];
            args[0] = value;
            descriptor.getWriteMethod().invoke(obj, args);
        }
    }
    return obj;
}

java中怎么list 转成 map?

可以转换的,你用循环把list中的数据读出来,

Iterator it = list().iterator();
while(it.hasNext){
    对象类型 XX = (对象类型)it.next();
}

然后再把对象放到map里面就行了.

关于java如何转成map

List community = new ArrayList();
Map map = new HashMap();
community.add(1161);
community.add(1169);
community.add(1167);
community.add(1168);
community.add(1166);
community.add(1165);
community.add(1164);
community.add(1163);
for(int i =0; i < community.size();i++){
    map.put(i, community.get(i));
}
for(int j=0;j < map.size();j++){
    System.out.println(map.get(j));
}

Java中 如何把Object类型强转成Map类型

首先你需要保证要转换的Object的实际类型是Map<String, String> 假设Object变量名为obj,强制转换(Map<String, String>)obj 转换前最好进行类型检查,防止出现ClassCastException

Java中如何把字符串转换成map

  1. 使用fastJson 将String转 map:
String out;
Object succesResponse = JSON.parse(out);  //先转换成Object
Map map = (Map)succesResponse;  //Object强转换为Map
  1. String 转 java 对象 fastjson 应用 string字符串转换成java对象或者对象数组 代码如下