Java到底是值传递还是址传递

Java只使用值传递,对于基本数据类型,传递的是值的副本;而对于引用数据类型,传递的是对象的地址副本。这意味着对引用类型变量的修改不会影响原始对象。包装类和String的行为类似于基本数据类型,也是值传递,因此它们的副本在方法内修改不会影响外部变量。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Java 只有值传递,所以,对于 == 来说,不管是比较基本数据类型,还是引用数据类型的变量,其本质比较的都是值,只是引用类型变量存的值是对象的地址。

值传递

八种基本数据类型来讲,会把值copy给一个新的变量,供内部方法使用,互不影响
在这里插入图片描述

  • 打印结果
  • 方法内部的2
  • 3

引用传递

对于引用数据类型,改变了对象的引用
在这里插入图片描述

  • 打印结果
  • 方法内部的李四
  • 李四

8种基本数据类型的包装类,和String

也是值传递的形式,互不影响
在这里插入图片描述

  • 打印结果

  • 方法内部的5

  • 9
    在这里插入图片描述

  • 打印结果

  • 方法内部的鹿晗

  • 张三

总结

Java只有值传递,不过基本数据类型传递的是值本身
引用数据类型传递的是对象地址

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值