java中对象怎么与Map进行转换

本文章向大家介绍java中对象怎么与Map进行转换,主要包括java中对象怎么与Map进行转换的使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

创新互联公司专注于鹤庆企业网站建设,响应式网站,电子商务商城网站建设。鹤庆网站建设公司,为鹤庆等地区提供建站服务。全流程按需定制制作,专业设计,全程项目跟踪,创新互联公司专业和态度为您提供的服务

Java可以用来干什么

Java主要应用于:1. web开发;2. Android开发;3. 客户端开发;4. 网页开发;5. 企业级应用开发;6. Java大数据开发;7.游戏开发等。

Map接口中键和值一一映射. 可以通过键来获取值。

  • 给定一个键和一个值,你可以将该值存储在一个Map对象. 之后,你可以通过键来访问对应的值。

  • 当访问的值不存在的时候,方法就会抛出一个NoSuchElementException异常.

  • 当对象的类型和Map里元素类型不兼容的时候,就会抛出一个 ClassCastException异常。

  • 当在不允许使用Null对象的Map中使用Null对象,会抛出一个NullPointerException 异常。

  • 当尝试修改一个只读的Map时,会抛出一个UnsupportedOperationException异常。

代码如下

import java.lang.reflect.Field;
import java.util.HashMap;
import java.util.Map;
 
public class EntityUtils {
  /**
   * 实体类转Map
   * @param object
   * @return
   */
  public static Map entityToMap(Object object) {
    Map map = new HashMap();
    for (Field field : object.getClass().getDeclaredFields()){
      try {
        boolean flag = field.isAccessible();
        field.setAccessible(true);
        Object o = field.get(object);
        map.put(field.getName(), o);
        field.setAccessible(flag);
      } catch (Exception e) {
        e.printStackTrace();
      }
    }
    return map;
  }
  
  /**
   * Map转实体类
   * @param map 需要初始化的数据,key字段必须与实体类的成员名字一样,否则赋值为空
   * @param entity 需要转化成的实体类
   * @return
   */
  public static  T mapToEntity(Map map, Class entity) {
    T t = null;
    try {
      t = entity.newInstance();
      for(Field field : entity.getDeclaredFields()) {
        if (map.containsKey(field.getName())) {
          boolean flag = field.isAccessible();
          field.setAccessible(true);
          Object object = map.get(field.getName());
          if (object!= null && field.getType().isAssignableFrom(object.getClass())) {
             field.set(t, object);
          }
          field.setAccessible(flag);
        }
      }
      return t;
    } catch (InstantiationException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    } catch (IllegalAccessException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    }
    return t;
  }
}

到此这篇关于java中对象怎么与Map进行转换的文章就介绍到这了,更多相关的内容请搜索创新互联以前的文章或继续浏览下面的相关文章希望大家以后多多支持创新互联!


分享题目:java中对象怎么与Map进行转换
文章网址:http://ybzwz.com/article/iihoeg.html