在Java中實現泛型機制的目標是為了可以把發現 bug 的時機提前到程式碼原始碼時,而不是執行時間。如果在編譯時就可以發現 bug ,就可以節省大量的調試Java程式的時間,因為編譯錯誤可以比較容易和比較快速地被發現和修復。而且,當泛型只存在於編譯時,這個事實也是我們學習Java泛型的過程中必須記住的最重要的事實。
泛型作用有:
#類型的參數化,就是可以把型別像方法的參數那樣傳遞。這一點意義非凡。
泛型使編譯器可以在編譯期間對類型進行檢查以提高類型安全,減少運行時由於物件類型不匹配引發的異常。
例如:
public class ListContainer<T> { private T t; public T getObj() { return t; } public void setObj(T t) { this.t = t; } }
這裡
如:
ListContainer<Dog> myCon=new ListContainer<Dog>();
這種環境下,編譯器就知道ListContainer容器是放Dog類型物件的。並進行類型安全檢查。
myCon.setObj(new Dog())//ok myCon.setObj(“123”);//编译时提醒类型错误
這樣設計的容器在使用時編譯器就可以幫忙做很大一部分的類型安全檢查工作了,這就避免了很多運行時的ClassCastException異常,程式設計師也不需要記住各種對象的類型和擔心類型匹配問題了。同時大部分情況下也不用做型別強制轉換工作了。
以上是java泛型的作用是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!