本帖最后由 聂斌 于 2013-3-11 00:10 编辑
泛型的好处:
1.将运行时期出现的问题ClassCastException,转移到了编译时期。,
方便于程序员解决问题。让运行时问题减少,安全。,
2,避免了强制转换麻烦。
代码:
ArrayList<String> al = new ArrayList<String>();
al.add("abc01");
al.add("abc0991");
al.add("abc014");
Iterator it = al.iterator(); //Iterator这里没有指定迭代时产生的元素的类型,,那么迭代时产生的元素的类型 默认就是object,,,,所以it.next();返回的元素的类型就是 object
while(it.hasNext())
{
String s = it.next(); //此时发现it.next()报错,,,,,这里需要强制类型转换String s = (String)it.next();,,
System.out.println(s+":"+s.length());
}
或者可以这样修改:
Iterator<String> it = al.iterator();
while(it.hasNext())
{
String s = it.next(); //这里不用强制转换了
System.out.println(s+":"+s.length());
}
解析代码:Iterator<String>表示迭代时产生的元素的类型是String类型的,,,所以it.next();返回类的元素就是string类型的就避免了类型转换,,,
|