编程遇到如下问题:

String a = "";

change(a);

sysout(a);

结果还是空,本以为传递的是引用,函数里修改了a的值,外边应该能获取,但现实是,a还是emptyString


java中函数传的引用对象到底是什么?

java函数是传值的,java函数传递的参数是对象的引用 这句话怎么理解?


读了半天,弄明白了,试着总结下

1、java函数确实是传值的,包括基础类型和引用类型(是的,引用类型,传的是地址值,类似于c中的指针变量相互赋值)

2、java函数中接收的地址值用函数中的句柄容纳,所以,重新赋值,就丢失了原来的引用