代码:
char[] chars = "abcd".toCharArray();
System.out.println(chars.length);
问题:这里用Java计算长度是多少?由于char不是Class,我不确定存储长度的位置。如果没有存储,那么每次进行chars.length时都会计算出来吗? (我不认为)
答案 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了解更多信息。