刘家林 2015-11-10 10:05 采纳率: 0%
浏览 1200

在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语句中,如果这样嵌套的话,不是存在重复打印吗?
  • 写回答

6条回答 默认 最新

  • 刘家林 2015-11-10 10:41
    关注

    /相当于迭代器

            /*
             * 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中就可以迭代了,为什么在内部又放置了一个迭代呢?

    评论

报告相同问题?