在JAVA-WEB中取得控件的名字和值

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的相关信息