参数传递分为值传递和引用传递,但在java中只有值传递,就算传的是引用,也只是看作一串地址值,并且都是传的值副本。
形参的修改是否会影响实参指向的对象的内容?
- 如果传的是基本类型,由于原始内容和副本都是存储实际值,并且是在不同的栈区,因此形参的操作,不影响原始内容。
- 如果传的是引用类型,那么就会有两个引用指向同一个堆中的对象,则形参的操作,会影响实参指向的对象的内容。
- 特别的,如果传的是String,由于其不可变性,同样会生成一个新的String副本,原String对象不变。
参数传递分为值传递和引用传递,但在java中只有值传递,就算传的是引用,也只是看作一串地址值,并且都是传的值副本。
形参的修改是否会影响实参指向的对象的内容?