I think it's just becase it's easier to read.
"String [] a " is read as "a
String array named 'a'".
whereas
"String a []" would be read "a String 'a' that's really an array".
Basically, it's a convention so that everyone (theoretically) does it the same.
There are only two hard things in computer science: cache invalidation, naming things, and off-by-one errors