解决方案 »

  1.   


    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】的写法如何?
      

  2.   

    你确定设置好了jre7?
           Collection<String> c = new HashSet<>();
            c.add("a");
            c.add("b");
            
            Iterator<String> it = c.iterator();
            while(it.hasNext()){
                System.out.println(it.next());
            }
      

  3.   

    为什么我执行你那段代码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差距就这么大?