一、增强for循环
1、也称for each循环,是JDK1.5以后出来的一个高级for循环,专门用来遍历数组和集合的。它的内部原理其实是个Iterator迭代器,所以在遍历的过程中,不能对集合中的元素进行增删操作。
格式:
for(元素的数据类型 变量 : Collection集合or数组){
//写操作代码
}
它用于遍历Collection和数组。通常只进行遍历元素,不要在遍历的过程中对集合元素进行增删操作。
2、增强for循环支持
(1)数组:原理还是fori循环
(2)java.util.Iterable接口(因为Collection实现了这个接口,所以Collection才支持增强for)。原理还是迭代器。
tips:其实增强for循环是一个语法糖(只是表面写法变简单了,底层原理并没有变)
二、泛型
1、泛型的优点
(1)保证类型统一,确保类型安全。
(2)将可能发生的安全问题,从java运行期提前到javac编译器。
(3)对于集合,可以省略向下转型及instanceof等操作。
(4)可使代码模板化复用。
2、泛型的三种用法:
1. 泛型类
格式:修饰符 class 类名称<泛型> {…}
注:在确定对象时确定泛型是谁。
2. 泛型接口
格式:修饰符 interface 接口名称<泛型> {…}
注:接口中泛型如何确定?
(1)类实现时直接指定。
(2)若类实现时不指定,则要求类必须是泛型类。
3. 泛型方法(自己专用)
格式:修饰符 <泛型> 返回值类型 方法名称(参数类型 参数名称, …) {…}
3、泛型通配符:
1.