java萬用字元 隨筆

2021-09-01 09:09:35 字數 981 閱讀 3934

public class tongpeifu 

static void unboundedarg(holder <?> holder ,object arg){}

static t exact1(holderholder);

static t exact2(holderholder,t arg);

static t wildsubtype(holder<? extends t> holder,t arg);

static t wildsuptype(holder<? super t> holder,t arg);

}

public class holder

public t gett()

}

最近在看泛型,剛好到了萬用字元,記錄下。

在上面**rawargs()中,編譯器知道holder是乙個泛型型別,因此即使在這裡被表示成原生型別,編譯器知道向set傳遞object是不安全的。(不能set object型別,應該持有具有某種具體型別的同構集合),由於他是原生的,你可以將任何型別的物件傳遞給set,二這個物件會被向上轉型為object(泛型的擦除)。因此無論何時,只要使用原生型別,都會放棄編譯期檢查。對get方法呼叫說明相同的問題:沒有任何t型別物件,因此結果只能是object。

holder與holder<?>是大致相同的事物。但現實說明它們是不同的,因為原生的holder將持有任何型別的組合,二holder<?>將持有具有某種具體型別的同構集合,因此不能只是向其中傳遞object。

exact1和exact2中,使用了確切的泛型引數---無萬用字元。這倆方法具有不同的限制,因為它必須有額外的引數。

wildsupertype展示了超型別萬用字元,這個方法與wildsubtype相反的行為:holder可以持有任何t型別的容器,因此set可以接受t,但是嘗試呼叫get是沒用的。因為有holder持有的型別可以說任何超類,因此唯一安全的型別就是object。

SQL LIKE 萬用字元隨筆

萬用字元 說明 與任意單字元匹配 與包含乙個或多個字元的字串匹配 與特定範圍 例如,a f 或特定集 例如,abcdef 中的任意單字元匹配。與特定範圍 例如,a f 或特定集 例如,abcdef 之外的任意單字元匹配。例子 where firstname like im 可以找到所有三個字母的 以...

SQL LIKE 萬用字元隨筆

萬用字元 說明 與任意單字元匹配 與包含乙個或多個字元的字串匹配 與特定範圍 例如,a f 或特定集 例如,abcdef 中的任意單字元匹配。與特定範圍 例如,a f 或特定集 例如,abcdef 之外的任意單字元匹配。例子 where firstname like im 可以找到所有三個字母的 以...

SQL LIKE 萬用字元隨筆

萬用字元 說明 與任意單字元匹配 與包含乙個或多個字元的字串匹配 與特定範圍 例如,a f 或特定集 例如,abcdef 中的任意單字元匹配。與特定範圍 例如,a f 或特定集 例如,abcdef 之外的任意單字元匹配。例子 where firstname like im 可以找到所有三個字母的 以...