String[] is used to accept a single parameter whereas String ... is used to accept an array of parameters.
String ... is equivalent to String[] is only one parameter is passed to String ... but it allows you to pass multiple parameters.
But when you use String[], you can only use one parameter, you can not pass more than one parameters.