Java 泛型詳解

2021-08-14 21:43:12 字數 2824 閱讀 3704

表示集合中 儲存的資料型別

**實現:

泛型類:

/*

* 泛型類(泛型類 宣告時 尖括號中的字母 可以隨便定義)

* 泛型類的型別在 初始化這個類的物件的時候確定

*/public

class worker

public

void

setm(m m)

public

void

work()

public

void

sayhi(m m)

// 宣告不同泛型的泛型方法 在呼叫泛型方法 指定泛型的型別

//宣告泛型 只有宣告過 才能使用

public

void

print(z z)

// 靜態方法

// 當你呼叫靜態方法的時候 可能還沒有物件 沒有物件就沒指定泛型 所以不能用類的泛型

public

static

void

fun(w w)

}inte***ce intera

class interaimpl implements intera

}

//測試類

public

class

demo01

/*** 泛型別

*/public

static

void

fun3()

/*** 泛型的好處和一些問題處理

* */

public

static

void

fun2()

/**泛型的介紹

* 保持字串

* */

public

static

void

fun1() }}

在以前學習的一些方法中 我們經常在文件中可以看到這樣的說明

可以看到其中傳入引數中包含 」 < ? extends e> c 」 這個表示什麼呢?

? extends e(向下限定)

? 是子類 繼承 e 是父類

? 只能是e類的子類

有時候我們還能看到:? super e 它表示

? 是父類 e 是 子類 ? 只能是e類的 父類

**示例:

public

class

demo02 ;

//fun2(array);

// 呼叫2 直接傳入數字

//fun2(1,2,3,4,5);

// 把陣列轉化為集合

int array = new

int ;

// 把陣列 當做集合中的乙個元素 轉為了集合

list aslist = arrays.aslist(array);

system.out.println(aslist);

integer array2 = ;// 自動裝箱

listaslist2 = arrays.aslist(array2);

system.out.println(aslist2);

string array3 = ;

listaslist3 = arrays.aslist(array3);

system.out.println(aslist3);

// 如果陣列轉集合 通過使用aslist 得到乙個集合 注意這個集合 不允許新增或刪除的操作

// 雖然不能新增刪除 但是可以呼叫集合其他方法

boolean contains = aslist3.contains("wanglong");

system.out.println(contains);

}

// int ... num 相當於傳入的引數是陣列

// int ... num 可以接收多個引數 只能是方法引數的最後乙個

public

static

void

fun2(int ... num)

}/**

* ? extends e(向下限定)

* */

public

static

void

fun1()

}

**實現:

public

class demo03

}/**

* 迭代器刪除

*/public

static

void fun2()

}system.out.println(list);

}/**

* 集合刪除

*/public

static

void fun1()

}system.out.println(list);}}

**實現:

public

class demo05

while (iterator3.hasnext())

}

// 通過學科找到班

// for (arraylistlist : subject)

// }}}

Java 泛型詳解

普通泛型 public class point public void setvar t var public string tostring public class notepad public v getvalue public void setkey k key public void se...

java泛型介面詳解

泛型介面 inte ce tool 這種方式適合實現介面的時候就知道類裡的泛型是什麼 class toolimpl implements tool override public void print e e 這種方式不好!class tool2impl implements tool overri...

Java泛型詳解(下)

假設現在有乙個類employee和它的子類manager 現在問題來了 pair是pair的子類嗎?答案是 不是 例如,下面的 將不會編譯成功 manager tophonchos pairresult arrayalg.minmax tophonchos error minmax方法返回pair,...