目录
前言
在我们Java开发的过程中不可避免的会遇到需要将一个类转换为另一个类的情况,比如我们从数据中或者别人的接口中查询出来的类转换为我们对外展示所用的视图类。可能有人会说,那直接用返回的类当做视图类不就可以了,还省了转换的步骤和时间。但是如果当返回内容增加或修改时就很容易污染我们的对外视图类,所以类转换也变得不可或缺。下面将展示四种种类转换方式。
类型转换方式一:
JSON
CategoryVo categoryVo = JSONObject.parseObject(JSONObject.toJSONString(productCategory), CategoryVo.class);
类型转换方式二:
get/set
ProductCategory productCategory=new ProductCategory();
productCategory.setCategoryCode("773");
productCategory.setCategoryName("张三");
CategoryVo categoryVo=new CategoryVo();
categoryVo.setCode(productCategory.getCategoryCode());
categoryVo.setName(productCategory.getCategoryName());
类型转换方式三:
BeanUtils
ProductCategory productCategory=new ProductCategory();
productCategory.setCategoryCode("773");
productCategory.setCategoryName("张三");
CategoryVo categoryVo=new CategoryVo();
try {
BeanUtils.copyProperties(productCategory,categoryVo);
} catch (Exception e) {
e.printStackTrace();
}
类型转换方式四:
类型转换方式4就是我们的MapStruct下面会详细讲解,先给大家展示一下这四种转换方式的性能比较,如下: