我对这段代码感到有点困惑(我没有创建它:我从教程中学到了它):
public String findLongestName(String[] names){
int size = names.length;
String longestName = names[0];
for(int i=1; i<size; i++) {
if(names[i].length() > longestName.length()) {
longestName = names[i];
}
}
return longestName;
}
也许这是一个非常微不足道的问题,但我仍然是Java编程语言的初学者。特别是,为什么在将长度存储到变量“size”时没有括号写的“ names.length ”?我们为什么要在“ if ”函数中使用括号?
换句话说,为什么写这个不正确:
int size = names.length(); 而不是“int size = names.length;”
或者这个:
if(names [i] .length&gt; longestName.length)而不是“if(names [i] .length()&gt; longestName.length())”
答案 0 :(得分:0)
您对length()
类的String
方法和数组的length
字段感到困惑。
length()
方法用于检索给定String
的长度,而names.length
(字段不是方法)用于获取长度一个给定的数组。
数组长度:我应该使用括号吗?
您在这里没有选择,因为它没有名为arrayName.length
的getter,因此您需要使用length()
。
答案 1 :(得分:0)
names.length
返回数组的大小。它不是一种方法,只适用于数组。longestName.length()
返回 String对象中的字符数。它只是String类中的一个方法。我们不能在这里使用.length
,因为String不仅仅是一个原始数组。