while(enumeration.hasMoreElements()){
String nameString = enumeration.nextElement();
String[] valueStrings = request.getParameterValues(nameString);
//由于名字可能会重复
for (String string : valueStrings) {
System.out.println(nameString+":::"+string);
}
}
在这个程序当中,为什么for语句被嵌套在while语句中,如果这样嵌套的话,不是存在重复打印吗?
/相当于迭代器
/*
* foreach 语句等于下面的代码, 因为foreach的原理是用iterator进行迭代
*
* String s = valueStrings.iterator().next();
*
* 可以将其改写为
* Iterator<String> it = valueString.iterator();
* while(it.hasnext())
* {
* String s = it.next();
* System.out.prinltn(s);
*
*
* }
*
* 这就是为什么可以在while语句里面加入foreach循环而并没有产生循环打印的原因
可能是这个原因,但是又感觉有点不对,因为在while中就可以迭代了,为什么在内部又放置了一个迭代呢?
表示已懂, foreach是对valueStrings 进行迭代循环,当while循环一次,foreach跟着循环一次,而不是又从头循环了一次,O(∩_∩)O哈哈~
感谢 http://blog.csdn.net/a596620989/article/details/6930479 这篇文章对于foreach循环的讲解
并不会重复啊while循环是判断枚举类的,而for循环是对取得字符串数组进行遍历的
不会重复的,while每次遍历出来一个Element,然后for遍历这个Element的相关信息
不会重复的,while每次遍历出来一个Element,然后for遍历这个Element的相关信息