java如何swap
交换变量的方法
在Java中,由于基本数据类型是值传递,直接交换两个变量的值需要通过临时变量或算术运算实现。以下是几种常见的方法:
使用临时变量
int a = 5;
int b = 10;
int temp = a;
a = b;
b = temp;
这种方法简单直接,适用于所有基本数据类型。
使用算术运算(无需临时变量)
int a = 5;
int b = 10;
a = a + b; // a = 15
b = a - b; // b = 5
a = a - b; // a = 10
注意:这种方法可能因数值过大导致溢出,仅适用于整数类型。
使用位运算(适用于整数)
int a = 5;
int b = 10;
a = a ^ b; // a = 15 (二进制 1111)
b = a ^ b; // b = 5 (二进制 0101)
a = a ^ b; // a = 10 (二进制 1010)
位运算效率较高,但可读性较差。
交换对象引用
对于对象引用,可以通过临时变量或方法参数实现交换:

通过临时变量
String str1 = "Hello";
String str2 = "World";
String temp = str1;
str1 = str2;
str2 = temp;
通过方法封装
public static <T> void swap(T[] array, int i, int j) {
T temp = array[i];
array[i] = array[j];
array[j] = temp;
}
// 调用示例
String[] arr = {"A", "B"};
swap(arr, 0, 1);
注意:Java是值传递语言,直接修改方法参数无法影响原始变量,必须通过数组或对象属性实现交换。






