本月博客排行
-
第1名
wy_19921005 -
第2名
mft8899 -
第3名
benladeng5225 - Anmin
- duanfei
- wddpwzzhao123
年度博客排行
-
第1名
龙儿筝 -
第2名
宏天软件 -
第3名
wy_19921005 - benladeng5225
- vipbooks
- kaizi1992
- tanling8334
- sam123456gz
- arpenker
- zysnba
- fantaxy025025
- xiangjie88
- wallimn
- e_e
- jh108020
- ganxueyun
- Xeden
- xyuma
- wangchen.ily
- zhanjia
- johnsmith9th
- zxq_2017
- forestqqqq
- jbosscn
- 青否云后端云
- daizj
- xpenxpen
- 喧嚣求静
- kingwell.leng
- jveqi
- lchb139128
- kristy_yy
- javashop
- lzyfn123
- sunj
- yeluowuhen
- ajinn
- lerf
- lemonhandsome
- chenqisdfx
- xiaoxinye
- flashsing123
- lyndon.lin
- bosschen
- zhangjijun
- sunnylocus
- lyj86
- paulwong
- sgqt
- hudiemeng870329
最新文章列表
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);
}
其中用尖括号括起来的就是泛型,因此我们可以像 ...