泛型 static T 用法

2021-10-21 19:20:21 字數 1600 閱讀 7774

public

result

<

t>

test()

public

<

t>

result

<

t>

test()

public

static

<

t>

result

<

t>

test()

第一次沒理解上面非靜態方法可有或可無, 靜態方法必須有,此次總結一下

package

com.pd.shop.common

;import

lombok.

data

;@data

public

class

result1

<

t>

public

result1

<

t>

result1_a

(t t)

public

<

t>

result1

<

t>

result1_a1

(t t)

public

static

<

t>

result1

<

t>

result1_b

(t t)

}

分析:

1.前置條件, result1是非靜態類, 且傳入泛型t, t是非靜態型別

2.非靜態方法result1_a或result1_a1,為什麼可有或可無?

因為"非靜態方法"的呼叫"需要"進行類的例項化,當例項化後, 已經可以"確定"t的型別,所以在呼叫非靜態方法result1_a或result1_a1時,宣告可有或可無

2.靜態方法result1_b,為什麼需要有?

因為"靜態方法"的呼叫需要"不需要"進行類的例項化, 也就"不確定"t的型別, 所以在呼叫靜態方法result1_b時,需要宣告

package

com.pd.shop.common

;import

lombok.

data

;@data

public

class

result2

public

<

t>

result1

<

t>

result2_a1

(t t)

public

result1

<

string

>

result2_b

(string t)

public

<

t>

result1

<

t>

result2_b1

(t t)

}

說明

1.類例項化的非靜態方法呼叫

2.類不例項化的靜態方法呼叫

C List泛型用法

所屬命名空間 using system.collections.generic 泛型的好處 它為使用 c 語言編寫物件導向程式增加了極大的效力和靈活性。不會強行對值型別進行裝箱和拆箱,或對引用型別進行向下強制型別轉換,所以效能得到提高。3 list與陣列的相互轉換 1.從string轉list 例如...

泛型萬用字元 的用法

泛型中提供了?萬用字元,可以引用其他各種引數化的引數,萬用字元定義的變數主要用作引用,可以呼叫與引數化無關的方法,不能呼叫與引數化有關的方法 具體可以看如下 public static void convert collection collection collection collection表...

泛型的高階用法

package t public class 泛型的高階用法 在泛型中使用萬用字元形式 listl1 new arraylist 例項化乙個arraylist物件 l1.add 成員 在集合中新增內容 list l2 l1 使用萬用字元 list l3 new linkedlist system.o...