* 泛型:通过<数据类型>接收一种数据类型,在编译的 时候会使用这种类型检测集合中的元素,如果不是<>中规定的类型,就不允许调价==添加到集合中.(编译不通过)
* 构成:数据类型后面<>中定义的类型就是泛型.
*
* 泛型的作用:1.使用了泛型不在需要机型强制转换,容错处理,向下转型,简化了代码
* 2.将运行阶段的问题提前到了编译阶段检查,提高了代码的安全性,提高了编程的效率.
*
* 泛型使用的位置:类上,方法上,接口上
package com.test;
import java.util.ArrayList;
import java.util.Iterator;
/*
* 泛型:通过<数据类型>接收一种数据类型,在编译的 时候会使用这种类型检测集合中的元素,如果不是<>中规定的类型,就不允许调价==添加到集合中.(编译不通过)
* 构成:数据类型后面<>中定义的类型就是泛型.
*
* 泛型的作用:1.使用了泛型不在需要机型强制转换,容错处理,向下转型,简化了代码
* 2.将运行阶段的问题提前到了编译阶段检查,提高了代码的安全性,提高了编程的效率.
*
* 泛型使用的位置:类上,方法上,接口上
*/
public class Demo10 {
public static void main(String[] args) {
//当给ArrayList指定了泛型之后,里面的元素就只能是字符串
ArrayList<String> list=new ArrayList<>();
list.add("java");
list.add("java1");
list.add("java2");
list.add("java3");
System.out.println(list );
//遍历
//一旦集合的泛型决定了,让迭代器与之保持一致即可
Iterator<String> iterator= list.iterator();//迭代器
// while (iterator.hasNext()) {
// //使用泛型之前
// Object object = (Object) iterator.next();
// if (object instanceof String) {
// String string=(String)object;
// System.out.println(string.length());
//
// }
// }
while (iterator.hasNext()) {
String string = (String) iterator.next();
System.out.println(string.length());
}
}
}