Java如何计算原始数组的长度?

时间:2014-03-06 07:54:02

标签: java arrays char primitive-types

代码:

char[] chars = "abcd".toCharArray();
System.out.println(chars.length);

问题:这里用Java计算长度是多少?由于char不是Class,我不确定存储长度的位置。如果没有存储,那么每次进行chars.length时都会计算出来吗? (我不认为)

4 个答案:

答案 0 :(得分:7)

你写的char[]是一个对象,一个数组,并有一个名为length的公共最终字段。创建数组时,计算一次。像所有对象一样,它也有toString(), notify()等等......

答案 1 :(得分:3)

http://docs.oracle.com/javase/specs/jls/se7/html/jls-10.html#jls-10.7

  

公共最终字段长度,包含组件数   数组。长度可以是正数或零。

答案 2 :(得分:0)

在这种情况下,chars.length返回数组中元素的数量。

或者我错过了这个问题?

答案 3 :(得分:0)

即使char不是Java中的类/对象类型,char数组实际上也是。长度是该类的(最终)字段。请参阅答案here了解更多信息。