关于JAVA中对字符串与数组求长度的问题

时间:2023-03-09 19:41:40
关于JAVA中对字符串与数组求长度的问题

  我在学习中发现在求数组或者字符串的长度的时候,用到length的时候,有时候是length,有时候是length(),很是奇怪,于是上API查了一下,发现一些小细节。

  首先看看这段代码

 public class TS{
public static String arr[] = {"s","a","s",};
public static String str = "sas";
public static void main(String [] args){
System.out.println(arr.length);
//System.out.println(arr.length());
//System.out.println(str.length);
System.out.println(str.length());
} }

  这是非注释的打印是正确的代码,结果为关于JAVA中对字符串与数组求长度的问题;

  但当把代码改为

public class TS{
public static String arr[] = {"s","a","s",};
public static String str = "sas";
public static void main(String [] args){
//System.out.println(arr.length);
System.out.println(arr.length());
System.out.println(str.length);
//System.out.println(str.length());
} }

  这时候就出了问题,报错为关于JAVA中对字符串与数组求长度的问题.

  这就可以发现,数组对应是length,字符串对应是length()。

  那么这到底是怎么回事呢,查询API可知关于JAVA中对字符串与数组求长度的问题,即length()是字符串的一个方法,而length则是数组的属性。

  这个小细节平常需要格外注意,以减少debug的工作量。