package com.test.fastjson; import java.util.ArrayList; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; import com.jarvis.cache.clone.Cloning; import com.jarvis.cache.clone.ICloner; public class CloningTest { public static void main(String[] args) throws Exception { deepCloneTest(); User user=new User(); user.setId(2); user.setName("test2"); user.setBirthday(new Date()); ICloner s=new Cloning(); User user2=(User)s.deepClone(user, User.class); user2.setName("test3333"); System.out.println(user); System.out.println(user2); } private static void deepCloneTest() { List<User> list=new ArrayList<User>(); User user=new User(); user.setId(1); user.setName("test"); user.setBirthday(new Date()); list.add(user); Map<Integer, User> map=new HashMap<Integer, User>(); map.put(user.getId(), user); Object[] arr=new Object[]{1, "test", list, map, User.class}; ICloner s=new Cloning(); try { System.out.println("--------------obj arr------------------"); Object[] rs=(Object[])s.deepClone(arr, null); for(int i=0; i < rs.length; i++) { Object obj=rs[i]; System.out.println(obj.getClass().getName() + "--->" + obj); } } catch(Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } System.out.println("--------------user arr------------------"); User[] arr2=new User[]{user}; try { Object[] rs=(Object[])s.deepClone(arr2, null); for(int i=0; i < rs.length; i++) { Object obj=rs[i]; System.out.println(obj.getClass().getName() + "--->" + obj); } } catch(Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } System.out.println("--------------map------------------"); try { Map<Integer, User> obj=(Map<Integer, User>)s.deepClone(map, null); System.out.println(obj.getClass().getName() + "--->" + obj); } catch(Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } }