package cn.itcast_01;
import java.util.ArrayList;
import java.util.Iterator;
/*
*
* ArrayLsit存储字符串并遍历
*
*在运行的时候报错
* 因为我们在存储的时候,存储了String和Integer两种类型的数据
* 而在遍历的时候,我们把他都当作String类型处理的,做了转换,所以就报错
* 但是,它没在编译期间却没告诉我们
* 所以,我就觉的这个设计不好
* 回想一下,数组
* String[] atrArray = new String[3]
* StrArray[0] = "hello";
* StrArray[1] = "word";
* StrArray[2] = "10";
*
* 集合也模仿着数组的这种的做法,在创建对象的时候明确的元素的数据类型。这样就不会有问题了
* 而着种技术被称为:泛型
*
* 泛型:是一种把明确的工作推迟到创建对象或者调用方法的时候才去明确的特殊类型。参数化类型
* 把类型当作参数一样传递。
*
* 格式:
* <数据类型>
* 此处的数据类型只能是引用类型
*
* 好处;
* A: 把运行期间的问题提前到了编译期间
* B:避免了强制类型的转换
* C:优化了程序设计,解决了黄色警告线
*/
public class 泛型的概述和基本使用 {
public static void main(String[] args) {
//创建集合
ArrayList<String> array=new ArrayList<String>();
//添加元素
array.add("hello");
array.add("word");
array.add("java");
//array.add(new Integer(100));
// array.add(10);//JDK5以后自动装箱
//等价于:array.add(Integer.valuOf(10));
//遍历
Iterator<String> it =array.iterator();
while(it.hasNext()) {
//在这里报错
String s =it.next();
System.out.println(s);
}
}
}
泛型的概述和基本使用
最新推荐文章于 2024-10-12 22:35:37 发布