Java中引入泛型的好處

2021-09-23 15:00:37 字數 1082 閱讀 8532

泛型的本質是引數化型別,即所操作的資料型別被指定為乙個引數。這種型別引數可以用在類、介面和方法的建立中,分別稱為泛型類、泛型介面、泛型方法。

在沒有泛型的情況下,通過對型別object的引用來實現引數的轉換,這種轉換是需要顯式地強制型別轉換,對於強制型別轉換錯誤的情況,編譯器可能不提示錯誤,而在執行時候卻又通不過,這是乙個安全隱患。可能給我們的開發帶來了麻煩,難以找到執行時錯誤,增加不必要的精力開支,所以一般提倡使用泛型來實現引數化型別。

對比使用泛型來實現引數化型別的好處:

首先,要了解泛型帶來的好處,我們應該先了解不使用泛型來實現引數化型別。

定義乙個nogeneric類,繼承自object類。

建立乙個integer版本和string版本的nogeneric物件進行測試。

執行結果:

對於intob==strob,我們知道在語義上是一條錯誤的語句,但是在編譯時不會報錯,因為其語法正確,兩種型別都繼承自object類,在執行時會出現異常。

使用泛型就可以避免上面這種麻煩,泛型的好處是在編譯的時候檢查型別安全,並能捕捉型別不匹配的錯誤,並且所有的強制轉換都是隱式的和自動的,提高**的重用率。

將上面的例子用泛型定義去實現:

建立乙個integer版本和string版本的generic物件進行測試:

在編譯時已經出現錯誤,incompatible operand types genericand generic,編譯無法通過,這樣就可以盡早發現並改正錯誤。

泛型的好處

第三講 c 泛型有什麼好處 關於object型別 1.object型別可以來引用任何型別的例項 2.object型別可以儲存任何型別的值 3.可以定義object型別的引數 4.可以把object作為返回型別。但是 這樣做有很大的問題 1.會因為程式設計師沒有記住使用的型別而出錯,造成型別不相容 2...

泛型的好處

泛型 1.可以將乙個集合中儲存的資料型別規定為同一種,從而更加安全,而且不必再進行強制轉換的操作!2.在編譯過程中,編譯器能夠獲悉變數的型別資訊,但是編譯完成後在執行時,將去除變數的型別 資訊!3.泛型的引數型別間不存在任何繼承關係,不能通過編譯 如 arraylistd new arraylist...

JAVA中的泛型

1 泛型的基本作用 有時候建立乙個類,需要這個類中的屬性是object型別的,可以時而為string型別,時而為long型別等。比如乙個座標類point,橫座標和縱座標可能是整型,可能是浮點型,也可能是字串型別,需要輸出的結果如下 如下 package org.mole.t public class...