黑马程序员技术交流社区

标题: ***************求解 [打印本页]

作者: 班志国    时间: 2012-10-25 20:55
标题: ***************求解
本帖最后由 班志国 于 2012-10-26 09:09 编辑
  1. public RegexDemo{      
  2.            public static void main(String[] args){
  3.                         splitDemo();
  4.            }
  5.           public static void splitDemo(){
  6.                         String s="s,d,d,d,w";
  7.                         String regex=",";
  8.                         String arr[]=s.split(regex);
  9.                       fow(String s : arr){
  10.                       //求解释增强for循环
  11.                       System.out.println(s);
  12.                      }   
  13.            }
  14. }
复制代码

作者: 刘伟平    时间: 2012-10-25 21:02
增强for循环,又称for each循环,是对数组和集合中的所有元素进行遍历的一种方法,像你的代码中,
for(String s : arr)
其中,arr就是要遍历的数组,s就是表示遍历到的每个数组元素,可以在循环体中对着干数组元素进行操作。

建议:
String arr[]=s.split(regex);
最好改为
String[] arr=s.split(regex);
作者: 周万谋    时间: 2012-10-25 21:11
增强For循环是JDK 5.0的新特性,常用对数组和集合进行遍历,遍历的原理和for遍历类似,这样写主要是简化代码,而缺点就是在遍历集合时,不能对集合本身进行操作

作者: 崔政    时间: 2012-10-26 14:47
我也纠结了半天,最终发现了错误的原因,很搞笑。
  1. public class Test2{      
  2.     public static void main(String[] args){
  3.                  splitDemo();
  4.     }
  5.    public static void splitDemo(){
  6.                  String s="s,d,d,d,w";
  7.                  String regex=",";
  8.                  String [] arr=s.split(regex);
  9.                 // for(String s : arr){ //s重名了,上面已经有s了。
  10.                for(String b : arr){
  11.                //求解释增强for循环
  12.                        System.out.println(b);
  13.               }   
  14.     }
  15. }

复制代码
里面的String s:arr 和最上面的String s="s,d,d,d,w";名字冲突了,换个名字就ok




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2