У меня есть следующий код:
public class Main {
static void swap (Integer x, Integer y) {
Integer t = x;
x = y;
y = t;
}
public static void main(String[] args) {
Integer a = 1;
Integer b = 2;
swap(a, b);
System.out.println("a=" + a + " b=" + b);
}
}
Я ожидаю, что он напечатает a = 2 b = 1, но он напечатает противоположное. Таким образом, очевидно, что метод подкачки не меняет значения a и b. Почему?