今天看到Arrays的toString()方法源码,发现方法内并没有在最后追加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(", ");
}
}
于是尝试用死循环作为结尾:
public String toString(Object[] a) {
for (;;)
;
}
最好在for循环中加入返回语句,否则会报错。并且我们可以看到,for循环3个语句可以一条语句都不写。