Arrays in Java are kind of a special case - they have special rules defined for them that do not necessarily apply to either classes or primitives (though they're more like classes than primitives, except when they're not). Had Java been designed more consistently, in less of a rush, there probably would have been a JavaDoc page describing the length() method of an array. But it wasn't, and there isn't. Instead, we get custom rules in the JLS such as
JLS 10.7, which addresses this particular issue.