最近刷题碰到了一直都没有注意到的java传递问题, 发现半路出家的基础知识果然不牢固, 痛定思痛开始补习基础.

传递机制

  1. 对象是按引用传递的, 原始类型就是传值

  2. Java 应用程序有且仅有的一种参数传递机制,即按值传递

  3. 按值传递意味着当将一个参数传递给一个函数时,函数接收的是原始值的一个副本,因此,如果函数修改了该参数,仅改变副本,而原始值保持不变。

  4. 按引用传递意味着当将一个参数传递给一个函数时,函数接收的是原始值的内存地址,而不是值的副本.因此,如果函数修改了该参数,调用代码中的原始值也随之改变。

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


lpy1990
26 声望10 粉丝