目前結果是反射更快。下面看代碼
反射:
package com.self.test;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.self.common.ResourceType;
import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
public class ReflectTest {
private final static String ClassName = "com.self.entity.";
public static void main(String[] args) {
String resoucesInfo = "[{\"resourceType\":\"VPN\",\"name\":\"1\",\"age\":\"2\"},{\"resourceType\":\"VPN\",\"name\":\"11\",\"age\":\"22\"},{\"resourceType\":\"HOST\",\"name\":\"1111\",\"age\":\"2222\"},{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\"}"
+ ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
+ ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
+ ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
+ ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
+ ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
+ ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
+ ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
+ ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
+ ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
+ ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
+ ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
+ ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
+ ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
+ ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
+ ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
+ ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
+ ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
+ ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
+ ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
+ ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
+ ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
+ ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
+ ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
+ ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
+ ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
+ ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
+ ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
+ ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
+ ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
+ ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
+ ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
+ ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
+ ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
+ ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
+ ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
+ ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
+ ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
+ ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
+ ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
+ ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
+ ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
+ ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
+ ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
+ ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
+ ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
+ ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
+ ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
+ ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
+ ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
+ ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
+ "]";
long listStartTime = System.currentTimeMillis();
JSONArray jsonArray = JSON.parseArray(resoucesInfo);
int size = jsonArray.size();
System.out.println(size);
for (int i = 0; i < size; i++) {
JSONObject jsonObject = jsonArray.getJSONObject(i);
Object o = getObjectByJSONObject(jsonObject,jsonObject.getString("resourceType"));
}
long listEndTime = System.currentTimeMillis();
System.out.println("list全部存入時間爲" + (listEndTime-listStartTime));
}
public static Object getObjectByJSONObject(JSONObject jsonObject,String resourceType){
Class resourceClass = null;
Object instance = null;
String realName = ClassName + resourceType;
try {
resourceClass = Class.forName(realName);
} catch (ClassNotFoundException e) {
System.out.println("類初始化失敗->ClassNotFoundException: " + e.getStackTrace());
}
try {
instance = resourceClass.newInstance();
// 實例化對象之後賦值
String resourcePropertuies = ResourceType.getResourcePropertiesByType(resourceType);
instance = setResourceProperties(instance,resourcePropertuies,jsonObject);
} catch (InstantiationException e) {
System.out.println("對象實例化失敗->InstantiationException: " + e.getStackTrace());
} catch (IllegalAccessException e) {
System.out.println("對象實例化失敗->IllegalAccessException: " + e.getStackTrace());
} catch (NoSuchFieldException e) {
System.out.println("對象配置參數失敗->NoSuchFieldException: " + e.getStackTrace());
}
return instance;
}
/**
* @Author shen_jian
* @Description // 設置對象屬性
* @Date 17:36 2019/5/28 0028
* @Param [o: 對象, properties: 屬性列表, jsonObject: 屬性值]
* @return java.lang.Object
**/
private static Object setResourceProperties(Object o,String properties,JSONObject jsonObject) throws NoSuchFieldException, IllegalAccessException {
String[] propertyList = properties.split(",");
Class clazz = o.getClass();
for (String property: propertyList) {
Field field = clazz.getDeclaredField(property);
field.setAccessible(true);
// 根據數組裏的property作爲key獲取jsonObject的值,不爲空則設置
// if (!"resourceType".equals(property)){
field.set(o, null == jsonObject.getString(property) ? "" : jsonObject.getString(property));
// }
}
return o;
}
/*public static void main(String[] args) {
try {
Class class2 = Class.forName("com.self.entity.Person");
// 獲取到所有本身的方法名
Method[] methods = class2.getDeclaredMethods();
for (Method method : methods) {
System.out.println(method.getName());
}
// 獲取指定method
Method method = class2.getDeclaredMethod("setSex", String.class);
Class[] cls = method.getParameterTypes();
if (cls.length != 0) {
for (int j = 0; j < cls.length; j++) {
System.out.println(" 方法的參數:" + cls[j].getName());
}
} else {
System.out.println(" ***該方法無參數");
}
// 創建對象
Object o = class2.newInstance();
method.invoke(o,"hehe");
System.out.println(o);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InstantiationException e) {
e.printStackTrace();
} catch (NoSuchMethodException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
}
}*/
}
運行結果:
序列化:
package com.self.test;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import java.io.*;
/**
* @ClassName:SerializableTest
* @description: TODO
* @author: shen_jian
* @date: 2019-06-03 10:47
**/
public class SerializableTest {
public static void main(String[] args) {
String resoucesInfo = "[{\"resourceType\":\"VPN\",\"name\":\"1\",\"age\":\"2\"},{\"resourceType\":\"VPN\",\"name\":\"11\",\"age\":\"22\"},{\"resourceType\":\"HOST\",\"name\":\"1111\",\"age\":\"2222\"},{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\"}"
+ ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
+ ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
+ ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
+ ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
+ ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
+ ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
+ ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
+ ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
+ ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
+ ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
+ ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
+ ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
+ ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
+ ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
+ ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
+ ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
+ ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
+ ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
+ ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
+ ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
+ ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
+ ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
+ ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
+ ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
+ ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
+ ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
+ ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
+ ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
+ ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
+ ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
+ ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
+ ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
+ ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
+ ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
+ ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
+ ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
+ ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
+ ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
+ ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
+ ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
+ ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
+ ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
+ ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
+ ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
+ ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
+ ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
+ ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
+ ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
+ ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
+ ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
+ "]";
long listStartTime = System.currentTimeMillis();
JSONArray jsonArray = JSON.parseArray(resoucesInfo);
int size = jsonArray.size();
System.out.println(size);
for (int i = 0; i < size; i++) {
JSONObject jsonObject = jsonArray.getJSONObject(i);
Object o = getObjectBySerializable(jsonObject);
}
long listEndTime = System.currentTimeMillis();
System.out.println("list全部存入時間爲" + (listEndTime-listStartTime));
}
// 序列化
public static Object getObjectBySerializable(JSONObject jsonObject){
ByteArrayInputStream byteArrayInputStream = null;
Object object = null;
try {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ObjectOutputStream oos = new ObjectOutputStream(baos);
oos.writeObject(jsonObject);
byte[] str = baos.toByteArray();
byteArrayInputStream = new ByteArrayInputStream(str);
ObjectInputStream objectInputStream = new ObjectInputStream(byteArrayInputStream);
object = objectInputStream.readObject();
objectInputStream.close();
byteArrayInputStream.close();
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
return object;
}
}
運行結果:
運行了許多次,反射的效率要比序列化快很多。而且我已經將屬性字段增加到了8個。