Как бороться с циклическими зависимостями в Node.js

Целое значение неизменное - вы не можете изменить свои значения. Перемещение, которое происходит внутри функции свопинга, относится к ссылкам, а не значениям.

Вам нужно будет вернуть обе ссылки в массиве для достижения желаемого

static Integer[] swap(Integer a, Integer b) {
   return new Integer[]{b, a};
}

public static void main(String[] args) {
   Integer a = 1;
   Integer b = 2;

   Integer[] intArray = swap(a, b);

   a = intArray[0];
   b = intArray[1];

   System.out.println("a=" + a + " b=" + b);
} 

Если Integer имел метод setValue, вы могли бы сделать что-то вроде этого.

static void swap(Integer a, Integer b) {
   int temp = a.intValue();
   a.setValue(b.intValue());
   b.setValue(temp);
}

Но это не так, чтобы достичь того, чего вы хотите, верните массив.

142
задан icktoofay 28 December 2014 в 22:36
поделиться