Когда я использую swapIside, мое значение массива numbers1 может быть изменено в основной функции, в то время как, когда я использую функцию swap, массивы в основной функции не меняются.
public class Main {
public static void main(String[] args) {
int[] numbers1 = new int[]{1, 2};
int[] numbers2 = new int[]{2, 3};
System.out.println("Original numbers1 "+Arrays.toString(numbers1));
System.out.println("Original numbers2 "+Arrays.toString(numbers2));
swap(numbers1, numbers2);
System.out.println(Arrays.toString(numbers1));
System.out.println(Arrays.toString(numbers2));
int[] num = numbers1;
numbers1= numbers2;
numbers2 = num;
System.out.println(Arrays.toString(numbers1));
System.out.println(Arrays.toString(numbers2));
swapInside(numbers1);
System.out.println(Arrays.toString(numbers1));
}
public static void swap(int[] num1,int[] num2){
int[] num = num1;
num1 = num2;
num2 = num;
System.out.println("num1"+Arrays.toString(num1));
System.out.println("num2"+Arrays.toString(num2));
}
public static void swapInside(int[] nums){
int num = nums[0];
nums[0] = nums[1];
nums[1] = num;
}
}