这是一个问题:编写一个交换两个变量的方法.这两个变量应该是原始的.它不需要是通用的,例如两个int变量.有办法吗?!
我试图在Java中交换两个字符串.我从未真正理解"字符串是不可变的".我在理论上理解它,但我在实践中从未遇到过它.
此外,由于String是Java中的对象而不是基本类型,我不明白为什么以下代码两次打印相同的结果,而不是交换单词!
public static void main(String[] args)
{
String s1 = "Hello";
String s2 = "World";
System.out.println(s1 + " " + s2);
Swap(s1, s2);
System.out.println(s1 + " " + s2);
}
public static void Swap(String s1, String s2)
{
String temp = s1;
s1 = s2;
s2 = temp;
}
Run Code Online (Sandbox Code Playgroud)
我想要它打印
Hello World
World Hello
Run Code Online (Sandbox Code Playgroud)
但它是印刷品
Hello World
Hello World
Run Code Online (Sandbox Code Playgroud)
我认为s1和s2是引用,因此引用应该交换,新引用应分别指向另一个引用.我哪里错了?