如何理解Java 中的值传递问题
在 java 中永远都是 值传递, 看下面的例子就知道
public static void main(String[] args) {
String str = "test";
System.out.println("before in main ->" + str);
swap(str);
System.out.println("int main -> " + str);
}
private static void swap(String temp) {
temp = new String("fuck");
System.out.println("in swap -> " + temp);
}
/*
before in main ->test
in swap -> fuck
int main -> test
*/
private static void swap(String temp) {
这句话, 将 str 引用对象的地址, 传给temp 因此并没有改变
如果采用c++中指针的概念, 可能会好理解一些