数组异或交换出现的问题 public static void swap(int[] arr, int i, int j) { arr[i] = arr[i] ^ arr[j]; arr[j] = arr[i] ^ arr[j]; arr[i] = arr[i] ^ arr[j]; } 当i = j时,数组本身异或本身后为0赋值给本身得0,此时数组arr[i]=arr[j]=0,再经过下面两次异或最终得0。