编程遇到如下问题:
String a = "";
change(a);
sysout(a);
结果还是空,本以为传递的是引用,函数里修改了a的值,外边应该能获取,但现实是,a还是emptyString
java中函数传的引用对象到底是什么?
java函数是传值的,java函数传递的参数是对象的引用 这句话怎么理解?
读了半天,弄明白了,试着总结下
1、java函数确实是传值的,包括基础类型和引用类型(是的,引用类型,传的是地址值,类似于c中的指针变量相互赋值)
2、java函数中接收的地址值用函数中的句柄容纳,所以,重新赋值,就丢失了原来的引用