①改用泛型可以增加可讀性和穩定性,無需強轉更便捷。
比如說,
list list= new arraylist();
list.add(new integer(0));
integer x = (integer) list.iterator().next();
上述,編譯器只能保證iterator返回的是object型別,為了保證對integer型別變數賦值的型別安全,必須進行型別轉換。這樣寫容易混亂,並且程式設計師可能寫錯。改進方法自然用泛型了。寫了泛型,很明顯能看懂這裡面儲存的資料是什麼型別,也不用去強轉。
②改用泛型提高**重用性,更具模組化。
比如說,
我寫個dao類,裡面封裝了對資料庫的各種操作。這樣就和業務分開,可以根據需要建customerdao介面,再用customerdaoimpl實現這個介面,繼承dao類即可。
③型別安全。只有指定型別才可以新增到集合中。
泛型 為什麼是泛型?
需求 先需編寫乙個程式,用棧 stack 進行進棧和出棧操作,並對棧中的元素進行運算。方案一 假設元素為int型別,則可使用 code class stack public void push int x public int pop 客戶 code class test 然而,現在需求發生變化。客...
為什麼使用泛型
泛型 當我們將乙個物件放入集合,集合不會記住此物件的型別,當再次取出時,該物件的變異型別為object,但其執行時型別仍然為其本身型別。強制轉換很容易出現classcastexception異常 listarraylist new arraylist 把引數string型別當成引數傳入容器,指定容器...
Java泛型的主要用途
1.泛型的主要用途就是代替各種型別,作為乙個籠統的整體型別代替,也就是代替引數,不論是傳入引數還是返回引數。都可以用泛型來代替。如dao操作類的增刪改查操作,因為傳入引數的型別不同,但基本都是相同介面,所以就可以只寫乙個dao操作類的增刪該查方法,其傳入引數用泛型代替。如 public intupd...