泛型 為什麼是泛型?

2021-05-25 16:50:27 字數 807 閱讀 5796

需求:先需編寫乙個程式,用棧(stack)進行進棧和出棧操作,並對棧中的元素進行運算。

方案一:假設元素為int型別,則可使用**:

code:

class stack   

public

void push(int x)   

public

int pop()   

}   

客戶**:

code:

class test   

}   

然而,現在需求發生變化。客戶要求使用double型別,甚至還要支援string!這樣考慮用到弱型別object。

修改**如下:

code:

class stack   

public

void push(object x)   

public

object pop()   

}   

//  客戶**

code:

class test   

執行結果:

這樣的解決方法看似可以,但是對型別的不斷封箱和拆箱會降低程式效能,而且很容易寫出能通過編譯但是不能執行的**!

這個時候 ,泛型該出場了!

泛型使用**如下:

code:

class stack

public

void push(t x)   

public  t pop()   

}   

class test   

}   

輸出結果 :

泛型 什麼是泛型

泛型 即通過引數化型別來實現在同乙份 上操作多種資料型別。泛型程式設計是一種程式設計正規化,它利用 引數化型別 將型別抽象化,從而實現更為靈活的復用。c 泛型的作用概述 c 泛型賦予了 更強的型別安全,更好的復用,更高的效率,更清晰的約束。在乙個方法中,乙個變數的值是可以作為引數,但其實這個變數的型...

關於泛型,什麼是泛型,如何理解泛型

泛型是jdk5中引入的特性,它提供了編譯時型別安全檢測機制,該機制允許在編譯時檢測到非法的型別,就不至於在執行時出現轉換異常,它的本質是引數化型別 即以任何型別 t 作為引數,在使用時可以傳入型別t的具體值 t 也就是將型別由原來的具體型別用引數t表示 即型別引數化 然後在使用 呼叫時傳入具體的型別...

什麼是泛型

分類 泛型 c 應用 2009 02 25 10 04 550人閱讀收藏 舉報 前言 net 2.0中泛型的出現是乙個令人激動的特徵。但是,什麼是泛型?你需要它們嗎?你會在自己的應用軟體中使用它們?在本文中,我們將回答這些問題並細緻地分析泛型的使用,能力及其侷限性。型別安全 net中的許多語言如c ...