Java之泛型與Object的區別

1.舉個例子對比一下

public class Generic {
    public static <T> T getT(T t) {
        System.out.println("泛型");
        return t;
    }

    public static Object getObject(Object object) {
        System.out.println("Object");
        return object;
    }

    public static void main(String[] args) {
        StudentDTO studentDTO = getT(new StudentDTO());
        StudentDTO studentDTO1 = (StudentDTO) getObject(new StudentDTO());
    }
}

從上面的例子可以看出一下兩個區別:

1.泛型不需要做強制類型轉換

2.泛型編譯時更安全。如果使用Object類的話,你沒法保證返回的類型一定是StudentDTO,也許是其它類型。這時你就會在運行時得到一個類型轉換異常(ClassCastException)

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