A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 班志国 中级黑马   /  2012-10-25 20:55  /  1398 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 班志国 于 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. }
复制代码

3 个回复

倒序浏览
增强for循环,又称for each循环,是对数组和集合中的所有元素进行遍历的一种方法,像你的代码中,
for(String s : arr)
其中,arr就是要遍历的数组,s就是表示遍历到的每个数组元素,可以在循环体中对着干数组元素进行操作。

建议:
String arr[]=s.split(regex);
最好改为
String[] arr=s.split(regex);
回复 使用道具 举报
增强For循环是JDK 5.0的新特性,常用对数组和集合进行遍历,遍历的原理和for遍历类似,这样写主要是简化代码,而缺点就是在遍历集合时,不能对集合本身进行操作
回复 使用道具 举报
我也纠结了半天,最终发现了错误的原因,很搞笑。
  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
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马