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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 yuanxiang05 于 2016-1-24 16:18 编辑

老师在课程上对String字符串遍历都是将其转换成字符数组, 再遍历. 如:
  1. String s = "呵呵呵";
  2.                 char[] arr = s.toCharArray();
  3.                 for (char c : arr) {
  4.                         System.out.println(c);
  5.                 }
复制代码
而我比较喜欢通过String方法来直接对字符串进行遍历, 如:
  1. String s1 = "嘿嘿嘿";
  2.                 for(int i = 0; i < s.length(); i++) {
  3. System.out.println(s1.charAt(i));
  4.                 }
复制代码
请问我这种有什么不妥之处吗?比较说运行效率之类的....
反正我这种方法节省了字符串到字符数组的转换, 可怜的是不能用增强for循环了.
求大神帮分析一下,谢谢啦


10 个回复

倒序浏览
第一个for(:)循环必须遍历,第二个for(;;)循环不需要遍历全部内容,能选定字符段
回复 使用道具 举报
擎天柱 来自手机 中级黑马 2016-1-24 19:44:11
藤椅
顶一个,求string与char[]运行效率的区别
回复 使用道具 举报
Mayer 发表于 2016-1-24 18:35
第一个for(:)循环必须遍历,第二个for(;;)循环不需要遍历全部内容,能选定字符段 ...

我没有在纠结两个for的问题,我在纠结试用charAt()方法遍历字符串的问题
回复 使用道具 举报
擎天柱 发表于 2016-1-24 19:44
顶一个,求string与char[]运行效率的区别

是啊是啊,我就是纠结这个区别
回复 使用道具 举报
yuanxiang05 发表于 2016-1-25 13:18
我没有在纠结两个for的问题,我在纠结试用charAt()方法遍历字符串的问题

哦哦,我没学得你这么仔细,,
回复 使用道具 举报
Mayer 发表于 2016-1-25 13:22
哦哦,我没学得你这么仔细,,

我是一个又懒又强迫的人,既然字符串本身有方法遍历就懒得转字符数组了
回复 使用道具 举报
.这根本不用考虑效率问题....
回复 使用道具 举报
Mayer 中级黑马 2016-1-25 21:51:05
9#
yuanxiang05 发表于 2016-1-25 18:06
我是一个又懒又强迫的人,既然字符串本身有方法遍历就懒得转字符数组了 ...

又遇处女座
回复 使用道具 举报
求助
输入一串字符串,在字符串的末尾处添加100个“OK,”
最后将最后一个“,”删除
回复 使用道具 举报
无英彦 发表于 2016-1-26 00:12
求助
输入一串字符串,在字符串的末尾处添加100个“OK,”
最后将最后一个“,”删除 ...
  1. String s = "";
  2.                 for(int i=0;i<100;i++){
  3.                         if(i==99)
  4.                                 s = s+"OK";
  5.                         else
  6.                                 s = s+"OK,";
  7.                 }
  8.                 System.out.println(s);
复制代码
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马