"" (i.e., built-in arrays) are... well, they're arrays. An array of a given type can hold an ordered collection of items of that type.
Arrays (java.util.Arrays) is a collection of convenient utility method for working with arrays: sorting, searching, filling, etc. There's nothing essential in this class -- everything in this class you could write yourself. You can use these methods with any arrays, but in no sense can you "interchange Arrays and " -- they're completely different things.
Array (java.lang.reflect.Array) is used in reflection, which means asking the JVM about the properties classes it contains. You can ask the JVM "What is the return type of the method foo() of the class Bar?" and if foo() returns some kind of array (i.e., some kind of ""), the JVM will use the Array class to pass you that information. This is a far more advanced topic. Again, it's not at all interchangeable with the other two -- it has a completely different purpose. [ April 14, 2008: Message edited by: Ernest Friedman-Hill ]