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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 mnxnm 于 2015-6-2 11:30 编辑

请看以下代码第12行代码处 if (i == iMax) ,每次循环都要判断一次,i == iMax,判断是否要添加"]"符号
这不是影响性能吗,如果直接每次 b.append(a+","),最后把","替换成"]"不就好了
不用每次都去判断是不是要结束了要添加"]"了
哈哈,其实,我想错了,因为i == iMax这一步其实就是for循环的终止条件,循环一次检验一次,
满足条件就 return b.append(']').toString()并结束循环,哈哈,
  1.     public static String toString(int[] a) {
  2.         if (a == null)
  3.             return "null";
  4.         int iMax = a.length - 1;
  5.         if (iMax == -1)
  6.             return "[]";

  7.         StringBuilder b = new StringBuilder();
  8.         b.append('[');
  9.         for (int i = 0; ; i++) {
  10.             b.append(a[i]);
  11.             if (i == iMax)
  12.                 return b.append(']').toString();
  13.             b.append(", ");
  14.         }
  15.     }
复制代码

评分

参与人数 1技术分 +1 收起 理由
lwj123 + 1

查看全部评分

2 个回复

倒序浏览
顶顶顶顶顶顶顶顶顶
回复 使用道具 举报
的确是这样,看代码要仔细啊!return返回
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马