String.length() vs Array.length [duplicate]

2019-01-09 07:47发布

Possible Duplicate:
Why is String.length() a method?
Java - Array's length property

Was there a specific design/performance reason as to why String has a method for length but Array has a variable length?

1条回答
何必那么认真
2楼-- · 2019-01-09 08:07

There is no Array class in Java (other than in reflections). Arrays are "primitives" of a sort in Java and play by different rules from declared classes.

Certainly a length() method could have been defined on arrays, but the designers wanted to keep length as a property rather than a pseudo-method. (In part this may have made it easier for early Java implementations.) The reasons are somewhat buried in history.

(A better question is why Java couldn't decide whether to call the concept "length", "count", or "size" -- I always end up trying all three before I hit on the right one for an aggregating class.)

查看更多
登录 后发表回答