泛型
/*
* ClassCastException:类型转换问题
*
* 泛型:任意的类型。是一种把明确数据类型的工作放在了创建对象或者调用方法时候进行的特殊的类型。
*
* 泛型的格式:
* <数据类型>
*
* 为什么会有泛型? 就是为了解决黄线和类型转换问题。
* 怎么解决呢?
* 就是模仿数组解决的,在定义集合的时候,告诉集合,你只能存储什么类型的元素。
* 怎么告诉呢,通过泛型。
*
* 泛型的好处:
* A:解决黄色警告线问题。
* B:把运行期间的类型转换异常提前到了编译期间。
* C:优化程序设计。
*
* 泛型在哪些地方用啊?
* 别问我,问API。如果类或者接口后面有<>,那么这就是泛型的体现。它就是要你在使用的时候明确类型的。
* 泛型一般就在集合中用。
*/
public class ArrayListDemo {
public static void main(String[] args) {
// 用ArrayList存储字符串并遍历
ArrayList<String> array = new ArrayList<String>();
array.add("hello");
array.add("world");
array.add("java");
// array.add(10);// 等价于array.add(new Integer(10));
Iterator<String> it = array.iterator();
while (it.hasNext()) {
String s = (String) it.next();
System.out.println(s);
// System.out.println(it.next());
}
// 数组在定义的时候,就明确告诉你了,我们的元素是某种固定的类型。不能是其他类型。
// String[] strArray = new String[3];
// strArray[0] = "hello";
// strArray[1] = "world";
// strArray[2] = 0;
}
}
我自己感觉泛型解决引用类型转换是把好手 |
|