Java泛型的使用

 

Java泛型主要包括泛型類、泛型方法和泛型接口。

使用astjson轉換json至特定對象

創建一個學生對象

class Student {
        public String name;
        public int age;
        public int score;
    }

使用泛型將jsonobject轉換爲T類型對象

 public <T> T getObject(JSONObject object, Class<T> type) {
        T tt = JSONObject.toJavaObject(object, type);
        return tt;
    }

下圖可見toJavaObeject需要一個json類型的參數,和一個轉換類型的Class對象,將Student的class對象作爲參數傳遞。

public static <T> T toJavaObject(JSON json, Class<T> clazz) {
        return TypeUtils.cast(json, clazz, ParserConfig.getGlobalInstance());
    }
 public static void main(String[] args) {
        GenericTest test = new GenericTest();
        JSONObject object = new JSONObject();
        object.put("name", "test1");
        object.put("age", 1);
        object.put("score", 10);
        Student t = test.getObject(object, Student.class);
    }

Student中的成員變量得是public,否則解析出來的值默認值,無法正確轉換。

什麼是Class對象?

Java中有兩種對象,Class對象和實例對象。實例對象是指通過new初始化構造的;Class對象是JVM生成用來保存對象的類信息的。

Class對象的獲取方式有:

1、Class.forName(),參數爲類名字符串=包名+類名

2、getClass(),通過類的實例調用getClass方法獲取類對象

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章