本月博客排行
-
第1名
龙儿筝 -
第2名
flashsing123 -
第3名
xiaoxinye - e_e
- johnsmith9th
- java_doom
- gaochunhu
- sichunli_030
- zw7534313
- 深蓝传说
年度博客排行
-
第1名
龙儿筝 -
第2名
宏天软件 -
第3名
青否云后端云 - wallimn
- vipbooks
- gashero
- wy_19921005
- benladeng5225
- fantaxy025025
- zysnba
- e_e
- javashop
- sam123456gz
- tanling8334
- arpenker
- kaizi1992
- xpenxpen
- lemonhandsome
- xiangjie88
- ganxueyun
- xyuma
- wangchen.ily
- jh108020
- Xeden
- johnsmith9th
- zxq_2017
- zhanjia
- jbosscn
- forestqqqq
- lzyfn123
- ajinn
- daizj
- wjianwei666
- ranbuijj
- 喧嚣求静
- sichunli_030
- kingwell.leng
- silverend
- lchb139128
- kristy_yy
- lich0079
- jveqi
- java-007
- sunj
- yeluowuhen
- lerf
- flashsing123
- lxguy
- zhangjijun
- lyndon.lin
最新文章列表
Java泛型认识与总结之三(超好)
类型擦除:
Java泛型在编译期之后就会把类型给擦除,在生成的Java字节代码中是不包含泛型中的类型信息的。使用泛型的时候加上的类型参数,会被编译器在编译的时候去掉。这个过程就称为类型擦除。如在代码中定义的List<Object>和List<String>等类型,在编译之后都会变成List,所以泛型只是对于编译期来说的,在执行期间是没有泛型可言。
Java泛型认识与总结之二(超好)
接上:
由于使用泛型,在编译期的时候会执行类型检查,目的为了确保类型安全,所以
此时intList只能添加Integer或int的数据,strList也只能添加String。
对于没有使用泛型的List,如List list = new List();在编译期是没有进行类型安全检查,所以这种list可以添加任何类型的元素。
Java泛型认识与总结之一(超好)
打开jdk1.6源码,看到这个片段:
public interface List<E> extends Collection<E> {
Iterator<E> iterator();
boolean containsAll(Collection<?> c);
}
其中用尖括号括起来的就是泛型,因此我们可以像 ...