JSONObject只是一种数据结构,可以使用put方法给json对象添加元素。JSONObject可以很方便的转换成字符串,也可以很方便的把其他对象转换成JSONObject对象。那jsonobject如何赋值泛型对象?下面来我们就来给大家讲解一下。
首先大家要知道什么叫泛型?
泛型就是将类型由原来的具体类型参数化,此时类型也定义成参数形式,然后在使用传入具体的类型。
Java泛型的主要目的是可以建立具有类型安全的数据结构,如链表、散列表等数据结构,最重要的一个优点就是:在使用这些泛型类建立的数据结构时,不必进行强制类型转换,既不要求进行运行时类型更安全。JDK1.5编译器在泛型使用时,将运行时的类型检查提前到编译时执行,使代码更安全。总而言之,泛型的推出就是为了建立具有类型安全的数据结构。
泛型类声明:
可以使用“class 名称<泛型列表>”声明一个类,为了和普通类有所区别,这样声明的类称作泛型类。
class People
People是泛型类的名称,E是其中的泛型,并没有指定E是何种类型的数据,它可以是任何对象或者接口,但不能是基本的数据类型。同时不用字母E也可以,可使用任何一个合法的标识符。泛型声明时,”泛型列表“给出的泛型可以作为类的成员变量的类型、方法的类型以及局部变量的类型。
实例化泛型:
Classclazz = (Class)((ParameterizedType) new Entity() .getClass() .getGenericSuperclass()) .getActualTypeArguments()[0]; T dto = clazz.newInstance(); 泛型方法 /** * * @param clazz * @param book * @param sheetIndex * @param * @return * @throws IllegalAccessException * @throws InstantiationException */ public staticListtoEntity(Classclazz, Workbook book, int sheetIndex) throws IllegalAccessException, InstantiationException { Listlist = new ArrayList < > (); // Classclazz = (Class) ((ParameterizedType) entity.getClass().getGenericSuperclass()).getActualTypeArguments()[0]; T dto = clazz.newInstance(); T dto2 = clazz.newInstance(); Field[] fields = clazz.getDeclaredFields(); MapfieldMap = new LinkedHashMap < > (); for (Field field: fields) { String mod = Modifier.toString(field.getModifiers()); System.out.println("mod = " + mod); // 跳过静态属性 if (mod.indexOf("static") != -1) { continue; } // 取得注解的设置的属性值 Description setField = field.getAnnotation(Description.class); if (setField != null) { String fieldName = setField.key(); String fieldType = setField.value(); // 必须,不然赋值会出现异常 field.setAccessible(true); fieldMap.put(fieldType, field); System.out.println("注解的属性 fieldName = " + fieldName); System.out.println("注解的属性 fieldType = " + fieldType); } } int num = 0; for (String key: fieldMap.keySet()) { num++; fieldMap.get(key) .set(dto, "dto1:" + key + num); fieldMap.get(key) .set(dto2, "dto2:" + key + num); } list.add(dto); return list; }
JsonObject 其实就是常说的json,是一种重要的数据传输对象,因此对于 JsonObject 的使用方法还是需要掌握好!最后大家如果想要了解更多json相关知识,敬请关注奇Q工具网。
推荐阅读: