Почему следующий код работает так, как будто он использует ссылочные типы, а не примитивные типы?
int[] a = new int[5];
int[] b = a;
a[0] = 1;
b[0] = 2;
a[1] = 1;
b[1] = 3;
System.out.println(a[0]);
System.out.println(b[0]);
System.out.println(a[1]);
System.out.println(b[1]);
И вывод:
2
2
3
3
скорее, чем
1
2
1
3