Java基礎 泛型理解

2021-09-02 04:21:13 字數 1315 閱讀 6098

先來看下這一段**

public

class

test

}}

@test

public

void

test()

泛型擦除,由於虛擬機器中沒有泛型型別的物件。無論定義何種泛型型別,都必須會有乙個原始型別,虛擬機器執行時會將型別變數擦除,並統一用object代替,從此變為乙個普通類物件。

@test

public

void

test()

那帶有泛型的集合為我們做了些什麼。

在新增入集合時,編譯階段進行型別檢查,在取出階段,進行型別轉型。

泛型類寫法:class 類名稱《泛型標記》{}

泛型標記:格式通常為大寫形式,且非常簡短的,例如t,s,e,k。

class

test

//內部類若存在相同的泛型名,會進行覆蓋

class

test2

//靜態內部類可使用

static

class

test3

public

static

void

main()

}

泛型類的使用例子:大體就是在使用再規定引數型別,使得類中的方法也一同決定了型別。

class

test

public

void

setp

(t p)

}public

class

test

}

泛型介面:inte***ce 介面名稱《泛型標記》{},使用的方式與泛型一樣。

inte***ce

test

泛型方法寫法:修飾符 < 泛型標記 > 返回值 方法名(引數列表)

< 泛型標記 >的作用:表明在這個方法作用域中誰才是泛型型別引數;

public

void

test

(t p)

萬用字元的存在:

@test

public

void

test1()

這裡我們先想一下,泛型為我們做了什麼,新增資料時編譯階段資料型別檢查,取出資料時資料型別轉換。

java基礎 泛型

int 定義了乙個陣列,陣列元素的型別是int 泛型 定義了乙個集合,集合元素的型別就是泛型定義的型別 泛型 將執行時期出現的問題classcastexception,轉移到了編譯時期 方便與程式設計師解決問題,讓執行事情問題減少,安全。泛型格式 通過 來定義要引用的資料型別 使用泛型 在集合框架中...

Java泛型的理解

t bean classbean class bean 單獨的t代表乙個型別,而class和class代表這個型別所對應的類 class在例項化的時候,t要替換成具體類 class它是個通配泛型,可以代表任何型別 受限統配,表示t的乙個未知子類。下限統配,表示t的乙個未知父類。package com...

Java基礎 泛型 泛型介面 泛型類 泛型方法

一 二 三 泛型方法 1.public t test t t1,t t2 一 泛型 1.泛型產生的背景 原因1 集合中儲存資料時,編譯期間可以儲存任何型別的資料,導致取值時轉換出錯 原因2 每次取值都需要強制轉換,冗餘繁瑣 2.泛型的定義 泛型的本質是乙個引數化的型別 在程式編碼中一些包含引數的類 ...