数组长度:我应该使用括号吗?

时间:2017-12-16 14:40:48

标签: java arrays if-statement parentheses

我对这段代码感到有点困惑(我没有创建它:我从教程中学到了它):

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())”

2 个答案:

答案 0 :(得分:0)

您对length()类的String方法和数组的length字段感到困惑。

length()方法用于检索给定String的长度,而names.length字段不是方法)用于获取长度一个给定的数组。

  

数组长度:我应该使用括号吗?

您在这里没有选择,因为它没有名为arrayName.length的getter,因此您需要使用length()

答案 1 :(得分:0)

  1. names.length返回数组的大小。它不是一种方法,只适用于数组。
  2. longestName.length()返回 String对象中的字符数。它只是String类中的一个方法。我们不能在这里使用.length,因为String不仅仅是一个原始数组。