One key fact is that the element type, Foo, is different from the array type, Foo. If we say "Foo f;", then f is of type Foo but f is not of type Foo. f is of type Foo.
The other key fact is that every array type is a subclass of Object and Object is a subclass of Object, so every array type is a subclass of Object. [ February 22, 2005: Message edited by: Mike Gershman ]