【问题标题】:str.length; (vs) str.length() [duplicate]字符串长度; (vs) str.length() [重复]
【发布时间】:2020-08-18 13:34:44
【问题描述】:

当我在函数内对字符串使用 length() 时出现找不到符号错误,而在使用 length 时将其删除。我需要知道这是什么原因?

代码:

//this got cannot find symbol error
static int[] matchingStrings(String[] strings, String[] queries) {
        int n=queries.length();
        int ns=strings.length();
        int res[]=new int[n];
//this ran 
static int[] matchingStrings(String[] strings, String[] queries) {
        int n=queries.length;
        int ns=strings.length;
        int res[]=new int[n];

【问题讨论】:

  • 数组没有方法length()(因此找不到该符号),但有一个属性length(因此有效)。
  • 是的,但是这里有一个数组,而不是字符串。
  • 获取查询数组的长度:queries.length - 获取查询数组中第一个字符串的长度:queries[0].length()
  • 请注意lengthString[] 的一个属性(以及一般的数组),但length()String 的一个方法,否则它不会造成足够的混乱。

标签: java methods string-length


【解决方案1】:

你很困惑:

对于数组:array.length; 对于字符串:string.length();

对于数组,长度不被认为是一种方法,它是一个常量(一个属性)(这就是为什么没有())。

【讨论】:

    猜你喜欢
    • 2015-10-21
    • 2012-05-22
    • 1970-01-01
    • 2017-08-19
    • 2012-10-23
    • 1970-01-01
    • 2012-08-07
    • 2012-07-14
    • 1970-01-01
    相关资源
    最近更新 更多