蛋疼看起了jdk源码,突然发现for循环里的return很诡异。细看才发现这个用法真妙,如此便可每次循环仅做一次判断。比自己平时下的少判断了一次。
public static String toString(Object[] a) {
if (a == null)
return "null";
int iMax = a.length - 1;
if (iMax == -1)
return "[]";
StringBuilder b = new StringBuilder();
b.append('[');
for (int i = 0; ; i++) {//没有判断条件
b.append(String.valueOf(a[i]));
if (i == iMax)
return b.append(']').toString();//直接返回
b.append(", ");
}
}