Rumah > Java > javaTutorial > teks badan

Cara menukar objek kepada Peta dalam Java - menggunakan BeanMap

PHPz
Lepaskan: 2023-05-08 15:49:08
ke hadapan
1964 orang telah melayarinya

Terdapat banyak cara untuk menukar kacang dan peta Java, seperti:

1 Menukar kacang kepada json melalui ObjectMapper, dan kemudian menukar json kepada peta Walau bagaimanapun, kaedah ini adalah rumit dan tidak cekap ujian, ia mengambil masa 12 saat untuk menukar 10,000 biji dalam satu gelung! ! ! Ia tidak disyorkan untuk menggunakan

2. Dapatkan atribut dan nilai kelas kacang melalui refleksi Java, dan kemudian tukarkannya kepada pasangan nilai kunci yang sepadan dengan peta Kaedah ini adalah yang kedua terbaik , tetapi ia lebih menyusahkan sedikit

3. Melalui kaedah dalam kelas net.sf.cglib.beans.BeanMap, kaedah ini amat berkesan. Perbezaan antara kaedah ini dan kaedah kedua ialah ia menggunakan Cache. Kacang perlu dimulakan apabila ia mula-mula dibuat, dan kemudian cache digunakan Oleh itu, ia adalah sangat pantas selepas ujian, ia hanya mengambil masa kira-kira 300 milisaat untuk menggelungkan penukaran kacang dan memetakan 10,000 kali.

Jadi, kaedah ketiga adalah disyorkan. Berikut ialah kod yang berkaitan:

/**
* 将对象装换为map
* @param bean
* @return
*/
public static Map<String, Object> beanToMap(T bean) {
Map<String, Object> map = Maps.newHashMap();
if (bean != null) {
BeanMap beanMap = BeanMap.create(bean);
for (Object key : beanMap.keySet()) {
map.put(key+"", beanMap.get(key));
}
}
return map;
}

/**
* 将map装换为javabean对象
* @param map
* @param bean
* @return
*/
public static T mapToBean(Map<String, Object> map,T bean) {
BeanMap beanMap = BeanMap.create(bean);
beanMap.putAll(map);
return bean;
}

/**
* 将List转换为List<Map<String, Object>>
* @param objList
* @return
* @throws JsonGenerationException
* @throws JsonMappingException
* @throws IOException
*/
public static List<Map<String, Object>> objectsToMaps(List objList) {
List<Map<String, Object>> list = Lists.newArrayList();
if (objList != null && objList.size() > 0) {
Map<String, Object> map = null;
T bean = null;
for (int i = 0,size = objList.size(); i < size; i++) {
bean = objList.get(i);
map = beanToMap(bean);
list.add(map);
}
}
return list;
}

/**
* 将List<Map<String,Object>>转换为List
* @param maps
* @param clazz
* @return
* @throws InstantiationException
* @throws IllegalAccessException
*/
public static List mapsToObjects(List<Map<String, Object>> maps,Class clazz) throws InstantiationException, IllegalAccessException {
List list = Lists.newArrayList();
if (maps != null && maps.size() > 0) {
Map<String, Object> map = null;
T bean = null;
for (int i = 0,size = maps.size(); i < size; i++) {
map = maps.get(i);
bean = clazz.newInstance();
mapToBean(map, bean);
list.add(bean);
}
}
return list;
}
Salin selepas log masuk

Atas ialah kandungan terperinci Cara menukar objek kepada Peta dalam Java - menggunakan BeanMap. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:yisu.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!