泛型(二)之萬用字元

2021-07-15 01:34:53 字數 947 閱讀 3710

一、萬用字元:解決接收乙個類的任意的泛型型別,但是不能修改,只能取出,就可以使用萬用字元?來描述

格式:型別名稱

class message

public e getmes()

}public

class main

public

static

void

fun(message<?> mes)

}

二、子萬用字元

在「?」萬用字元的基礎上有兩個子萬用字元

1)?extends 類:設定泛型上限,可以在宣告上和方法的引數上使用

例子 - ?extends number:意味著可以設定number類或者number的子類

class

message

extends

number>

public e getmes()

}public

class

main

public

static

void fun(message<? extends number> mes)

}

2)? super 類:設定泛型下限,方法引數上使用

例子:

-? super string:意味著只能設定string或者是它的父類(object)

// 用<>super萬用字元,不能在class上(extends可以)

class message

public e getmes()

}public

class main

public

static

void

fun(message<? super string> mes)

}

泛型(萬用字元)

1 宣告好泛型型別之後,集合中只能存放特定型別元素 2 泛型型別必須是引用型別 3 使用泛型後取出元素不需要型別轉換.泛型函式 當函式中使用了乙個不明確的資料型別,那麼在函式上就可以進行泛型的定義。public 泛型的宣告 返回值型別 函式名 泛型 變數名 泛型類 修飾符 class 類名 泛型 泛...

泛型 萬用字元

利用泛型技術雖然解決了向下轉型所帶來的安全隱患問題,但同時又會產生乙個新的問題 即便是同乙個類,但是由於設定泛型型別的不同,那麼其物件表示的含義也是不同,是不能夠直接進行引用操作的,例如 現在有如下乙個類。class message public t getmsg 使用萬用字元 解決引數傳遞問題 p...

泛型萬用字元

萬用字元 叫做萬用字元上限,比如當乙個集合的元素型別使用?號統配符的時候,表示在向這個集合是所有集合的父類。例如如下 public static void test2 list ls test public void test1 extends t 表示 一定t 的子類或者t的本身,看如下 publ...