使用泛型是不是不能再使用Iterator遍历了呢??
import java.util.ArrayList;
import java.util.Iterator;public class Test1 { public static void main(String[] args) {
ArrayList<String> a = new ArrayList<String>();
a.add("遇见");
a.add("3");
a.add("34");
a.add("胜利滋味");
Iterator it = a.iterator();//报错了,
while(it.hasNext()){
String s =it.next();
System.out.println(s);
}
}
}而不使用Iterator就没有问题??
import java.util.ArrayList;
public class Test1 { public static void main(String[] args) {
ArrayList<String> a = new ArrayList<String>();
a.add("哈哈");
a.add("3");
a.add("34");
a.add("胜利滋味");
for(int i = 0;i<a.size();i++){
String s = a.get(i);
System.out.println(s);
}
}
}
import java.util.ArrayList;
import java.util.Iterator;public class Test1 { public static void main(String[] args) {
ArrayList<String> a = new ArrayList<String>();
a.add("遇见");
a.add("3");
a.add("34");
a.add("胜利滋味");
Iterator it = a.iterator();//报错了,
while(it.hasNext()){
String s =it.next();
System.out.println(s);
}
}
}而不使用Iterator就没有问题??
import java.util.ArrayList;
public class Test1 { public static void main(String[] args) {
ArrayList<String> a = new ArrayList<String>();
a.add("哈哈");
a.add("3");
a.add("34");
a.add("胜利滋味");
for(int i = 0;i<a.size();i++){
String s = a.get(i);
System.out.println(s);
}
}
}
楼主【peterbob】截止到2008-07-05 16:06:55的历史汇总数据(不包括此帖):
发帖的总数量:3 发帖的总分数:40
结贴的总数量:3 结贴的总分数:40
无满意结贴数:1 无满意结贴分:20
未结的帖子数:0 未结的总分数:0
结贴的百分比:100.00% 结分的百分比:100.00%
无满意结贴率:33.33 % 无满意结分率:50.00 %
敬礼!
如果不写类型参数就变成了原生类型,原生类型对应的类用Object进行类型擦除,这时要需要强制转换:
String s = (String)it.next();
import java.util.ArrayList;
import java.util.Iterator;public class Test { public static void main(String[] args) {
ArrayList<String> a = new ArrayList<String>();
a.add("遇见");
a.add("3");
a.add("34");
a.add("胜利滋味");
Iterator<String> it = a.iterator();
while (it.hasNext()) {
String s = it.next();
System.out.println(s); }
}
}或者import java.util.ArrayList;
import java.util.Iterator;public class Test { public static void main(String[] args) {
ArrayList<String> a = new ArrayList<String>();
a.add("遇见");
a.add("3");
a.add("34");
a.add("胜利滋味");
Iterator it = a.iterator();
while (it.hasNext()) {
String s = (String)it.next();
System.out.println(s); }
}
}
ArrayList<String> a = new ArrayList<String>();
a.add("遇见");
a.add("3");
a.add("34");
a.add("胜利滋味");
Iterator<String> it = a.iterator(); //没错了!
while (it.hasNext()) {
String s = it.next();
System.out.println(s);
}
}}
import java.util.Iterator; public class Test1 { public static void main(String[] args) {
ArrayList <String> a = new ArrayList <String>();
a.add("遇见");
a.add("3");
a.add("34");
a.add("胜利滋味");
Iterator it = a.iterator();//报错了,
while(it.hasNext()){
String s =(String)it.next(); //跌代后要转成对应的对象,这就是错的原因.
System.out.println(s); }
}
}
原代码不变,String s =it.next();改成String s =(String)it.next();就OK了.