泛型討論 堆疊類

2021-08-30 20:45:02 字數 599 閱讀 7706

使用泛型實現堆疊儲存機制

例子:

public class stack

nodenext)

boolean end()

} private notetop= new note();

public void push(t item)

public t pop()

public static void main(string args)

string b;

whiel((b=s.pop()!=null)

}}

本例子使用了末端哨兵來判斷堆疊何時為空,這個末端哨兵是構造stack的時候建立的,然後每次呼叫一次push方法,就會建立乙個node物件,並將其連線到前乙個node物件,當你呼叫pop方法時候,總是返回top.item;然後丟棄當前top所指的node,並將top轉移到下乙個node,除非你碰到了末端哨兵,就不在移動了,

乙個持有特定物件的列表,每次在呼叫select方法的時候,可以隨機的獲取乙個元素.

public class random

public t select()

}

泛型討論 泛型介面

泛型也可以用於介面,例如生成器,這是一種專門負責創意物件的類。實際上是工廠方法設計模式的一種應用。不同的是它不需要任何引數。一般乙個生成器只定義乙個方法,該方法用於產生新的 物件。例子 public inte ce generator輔助類 public class coffee public cl...

泛型討論 泛型方法

泛型不經可以用在整個類上,同樣也可以用在雷中包含引數化的方法,而這個方法所在的類可以是泛型,也可以不是泛型,也就是說,是否擁有泛型方法,與其所在的類是否是泛型沒有關係。乙個基本的原則,優先使用泛型方法,然後才是泛型類,另外對於static方法而言,無法訪問泛型類的型別引數,所以,如果static方法...

泛型 泛型類 泛型方法 泛型擦除

1 是什麼?一種允許我們在不確定引數型別時候使用的型別。例如我不知道a方法應該會傳string還是int,我就用個泛型先佔坑。2 為什麼要用泛型?泛型可以在編譯期自動確定具體型別,檢查型別是否匹配,可以提高 的重用率,減少冗餘編碼。3 泛型與object的區別?像上面說的我不知道方法a的引數型別,其...