我以为该代码将引发错误,因为每次循环捕获更长的字符串时,字符串变量longestString
都会被覆盖,但是它工作得很好,并且变量每次都获取新的字符串。有人可以解释如何?
public static String getLongestString(String[] array) {
int maxLength = 0;
String longestString = null;
for (String s : array) {
if (s.length() > maxLength) {
maxLength = s.length();
longestString = s;
}
}
return longestString;
}
您可以使用静态变量并分配比一个内部循环更长的字符串。