您的位置:首页 > 编程语言 > Java开发

Java中泛型的使用总结

2017-06-14 21:52 246 查看
package day16_Generic;

import java.util.ArrayList;
import java.util.Iterator;

/*
* ArrayList存储字符串并遍历
*
* 我们按照正常的写法写这个程序,结果缺出错了。
*
* 为什么呢?
* 		因为我们开始存储的时候,存储了String和Integer两种类型的数据
* 		而在遍历的时候,我们把它们当做String类型处理了,做了转换,所以就报错。
* 但是呢?它在编译期间却没有告诉我们。
* 所以,我就觉得这个设计的不好。
* 回想一下,我们的数组
* 		String[] strArray=new String[3];
* 		strArray[0]="hello";
* 		strArray[1]="world";
* 		strArray[2]=10;//报错
* 集合 也模仿者数组的这种做法,在创建对象的时候明确元素的数据类型,这样就不会存在问题了。
* 而这种技术被称为:泛型
*
* 泛型:是一种把类型明确的工作推迟到创建对象或者调用方法的时候才去明确的特殊的类型。参数化类型,把类型当做参数一样的传递。
* 格式:
* 		<数据类型>
* 		此处的数据类型只能是引用类型。
* 泛型好处:
* 		A:把运行的时期的问题提前到了编译期间
* 		B:避免了强制类型转换
* 		C:优化了程序设计,解决了黄色警告线
*
* */
public class GenericDemo {

public static void main(String[] args) {
// TODO Auto-generated method stub
//创建
ArrayList <String>array = new ArrayList<String>();
//添加元素
array.add("hello");
array.add("world");
array.add("java");
//array.add(new Integer(100));
//		array.add(10);//报错,里面只能放String类型

//遍历
Iterator<String> it=array.iterator();
while(it.hasNext()){
//输出10在这里报错
//String s=(String) it.next();
System.out.println(it.next());
}
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: