Прежде всего оба метода в вашем случае являются статическими.Они просто имеют другой тип возвращаемого значения
. Для случая static void reverse (double[] a)
вы делаете это так:
double[] arr = //some array
reverse(arr); //at this point arr is reversed so that you can use it
reversedArr = arr; //or assign to different variable
На самом деле это нормально, если вам нужно повернуть некоторый внутренний массив, но я все еще не люблюэто потому что не слишком очевидно, что массив изменен.Я не думаю, что хорошо иметь такой метод public ...
static double[] reverse (double[] a)
хорошо быть частью некоторого служебного класса, т.е.
double[] arr = //some array
reversedArr = ArrayUtils.reverse(arr); // now you can reuse method and you actually see that you changed the array
Но вы должныИзмените метод, чтобы не изменять исходный массив , поскольку у вас могут возникнуть проблемы (вызов служебного метода не должен изменять начальное значение)