眾所周知,raw type(原生類型)這一概念是為了在Java推出泛型以后,依然兼容過去的代碼所發(fā)明的。因此,我們可以得出一條推論,就是假如一個類C已經(jīng)泛型化了,而你卻在使用它的raw type,那說明你壓根不知道它是個泛型的類,因此編譯器有必要提醒你,哎這里類型需要顯式轉(zhuǎn)換一下。 什么叫泛型化(generified type)呢?就以我上面貼的那段代碼為例。假如它是Java 5以前創(chuàng)建的類,那時候一定是這么寫的:
在Java 5以后,假如它一直沒有改成泛型的版本,那么調(diào)用它的人必須顯式地做類型轉(zhuǎn)換才能獲得List<String>:
假如后來這個類型后來被泛型化了:
調(diào)用的人還不知道它已經(jīng)泛型化了,因此還在使用raw type。那么編譯器就仍然按照泛型化之前的方式,提醒你顯式類型轉(zhuǎn)換。 |
|