char[]中的“length”是什么?

4
char[] name = "VIKKYHACKS".toCharArray();
System.out.println(name.length);

在这个程序中,“length”是什么意思?如果是 (new String("VIKKYHACKS")).length(),那么“length”就是一个方法。但是char[]是一种数据类型,不能在其内部有字段或方法。那么这个程序的第二行是如何工作的呢?
7个回答

6

char[] 不是原始数据类型,它是一个对象,并且拥有一个公共的字段 "length"。

http://docs.oracle.com/javase/tutorial/java/nutsandbolts/arrays.html

这是一个很好的开始。

因为数组是对象,所以它们也拥有所有其他项,例如 equals() 和 hashCode() 方法。(还有像 notify()、wait() 等所有的特性。)


2

首先,你有一个字符串“VIKKYHACKS”。然后,你将其转换为以下数组:

char[] name = "VIKKYHACKS".toCharArray();

"char[] name = "这部分将我们的字符数组分配给变量名name。它的类型是字符数组(char[])。
数组有一个名为length的变量,可以使用 .length 进行访问。在第二行中使用了它。
name.length

2

数组在Java中是对象。根据JLS的第10.3节length是一个“final实例变量”,它表示数组的长度。


+1 不仅提供正确答案,还提供Java语言规范(JLS)中相应部分的链接。 - informatik01

2

1
每个数组都有一个名为“length”的变量实例,其中包含该数组的大小(我们正在谈论Java :))

1

length是Array类的一个public final字段。它的值在数组创建时被初始化。


1
因为名称是一个字符数组,而数组有一个名为length的属性,可以获取数组的长度。 对于字符串而言,length()是一种获取字符串长度的方法。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接