我们可以确定ArrayList<E>使用其公共方法的长度size(),例如
ArrayList<Integer> arr = new ArrayList(10);
int size = arr.size();
Run Code Online (Sandbox Code Playgroud)
类似地,我们可以Array使用length属性确定对象的长度
String[] str = new String[10];
int size = str.length;
Run Code Online (Sandbox Code Playgroud)
虽然size()方法ArrayList是在ArrayList类中定义的,但是这个length属性是在哪里Array定义的?
如果String对象是不可变的(因此显然不能改变它的长度),为什么是length()一个方法,而不是简单地public final int length存在于数组中?
它只是一个getter方法,还是进行某种计算?
试着看看这背后的逻辑.
我目前在高中的 AP 计算机科学课上,我在阅读中遇到了这个问题。
据我了解,.length()是用于字符串的方法,但为什么.length()应用于数组时不是方法?我知道它们是不同的对象,但是为什么 Java 不制作另一种方法来查找数组的长度?
我很感激我得到的任何回应。谢谢!
为什么当我们得到数组的长度时,我们不必放置()
int [] ar;
System.out.println(ar.length); // no parentheses
Run Code Online (Sandbox Code Playgroud)
但对于一个字符串,它将是
String st;
System.out.println(st.length());
Run Code Online (Sandbox Code Playgroud)