62,621
社区成员
发帖
与我相关
我的任务
分享

为什么我执行你那段代码Collection<String> c2=new HashSet<String>();
c2.add("aaa");
c2.add("bbb");
c2.add("ccc");
for(Iterator<String> it=c2.iterator();it.hasNext();){
String s=it.next();
System.out.println(s);
}就可以执行啊?
难道1.6跟1.7差距就这么大?
Collection<String> c = new HashSet<>();
c.add("a");
c.add("b");
Iterator<String> it = c.iterator();
while(it.hasNext()){
System.out.println(it.next());
}
import java.util.*;
public class BasicGeneric {
public static void main(final String[] args) {
List<String> list = new ArrayList<>(); // 这一句最好这么写
list.add("aaa");
list.add("bbb");
list.add("ccc");
// 更好的写法
for (String element : list) {
System.out.println(element);
}
// Java8新特性:Lambda 表达式
list.stream().forEach((element) -> {
System.out.println(element);
});
Collection<String> collection = new HashSet<>(); // 这一句最好这么写
collection.add("111");
collection.add("222");
collection.add("333");
// OK的版本1
for (Iterator<String> iterator = collection.iterator(); iterator.hasNext();) {
String element = iterator.next();
System.out.println(element);
}
// OK的版本2
for (Iterator iterator = collection.iterator(); iterator.hasNext();) {
String element = iterator.next().toString();
System.out.println(element);
}
}
}
aaa
bbb
ccc
aaa
bbb
ccc
111
222
333
111
222
333
原来的代码貌似没啥问题,试试【OK的版本2】的写法如何?