Java學習筆記 泛型程式設計

2021-07-05 11:14:05 字數 1390 閱讀 8623

為了使編寫的**可以被很多不同型別的物件重用。

例如,arraylist建立物件例項:

arraylistfiles = new arraylist(); //string 型別引數

乙個泛型類就是具有乙個或多個型別變數的類,pair類示例:
public

class pair

public

pair(t first, t second)

//public t getfirst()

public t getsecond()

//public

void

setfirst(t newvalue)

public

void

setsecond(t newvalue)

}

使用上面的泛型類:

//構造器

pair

<

string

>()

pair

<

string

>(string, string)

//方法

string getfirst()

string getsecond()

void setfirst(string)

void setsecond(string)

普通類中定義乙個泛型方法:

class arrayalg

}//使用上面的泛型方法,尖括號中放入具體型別

string middle = arrayalg.getmiddle("abc", "s", "123");

string middle = arrayalg.getmiddle(123, 456, 789);

基本格式dai:extends comparable>

想要乙個t所屬的類有comparableto方法的限定示例:

class

arrayalg

}

不能用基本型別例項化型別引數。沒有pair,只有pair。

執行時型別查詢只適用於原始型別:

if(a instanceof pair) //error

不能建立引數化型別的陣列:

pair table = new pair[10]; //error

不能例項化型別變數:

public pair()

不能丟擲或捕獲泛型類的例項:

public

class

problem

extends

exception //error

Java學習筆記 泛型

注 這裡只簡單介紹了一下泛型最基礎的使用,泛型功能很強大,為了趕課程,關於通用型別部分過後補上。別被我的筆記所誤導 課程中的泛型首先是由泛型集合開始入手的。由前邊的兩個集合arraylist和hashmap可以看出,在使用方便的同時也帶來了很多問題。1,效率低下,集合都是object的型別,使用是需...

java 泛型學習筆記

首先我對泛型的理解就是可以把任何object的子類當做類中的型別,下面是對於泛型的基本定義 public class generict public object getfoo 然後對於泛型 可以有兩個型別或者更多 public class generictt public void setfoo1...

JAVA 泛型 學習筆記

首先為了方便下面 的理解,這裡先提一下一些下面會用到的三個物件 person student和worker。person的屬性只有string型別的name和int型別的age,其他就是一些基本的方法 student和worker都是完全繼承person類,都沒有新的屬性 下面開始正題 泛型,字面上...