面试之路(18)-java的函数参数传递类型之值传递还是引用传递

关于这个问题争论了很久,最近也是偶然发现这个问题

面试之路(18)-java的函数参数传递类型之值传递还是引用传递
经典名言:

O’Reilly’s Java in a Nutshell by David Flanagan (see Resources) puts it best: “Java manipulates objects ‘by reference,’ but it passes object references to methods ‘by value.’”

规则

1.对象就是传引用

2.原始类型就是传值

3.String等immutable类型因为没有提供自身修改的函数,每次操作都是新生成一个对象,所以要特殊对待。可以认为是传值。

结论

我觉得本质是值传递,只不过如上图,对象的值是地址。
参考:
https://www.zhihu.com/question/31203609
http://blog.csdn.net/fbysss/article/details/3082949

相关文章

暂无评论

暂无评论...