博客
关于我
Java变量之间传值 - 值传递还是引用传递的讨论
阅读量:797 次
发布时间:2023-01-28

本文共 441 字,大约阅读时间需要 1 分钟。

Java中变量的传递分为值传递和引用传递。值传递主要针对简单类型(基本类型和通过字符串直接赋值的字符串),而引用传递则针对对象和包装类型。

值传递:

  • 所有基本类型和通过直接赋值的字符串都是按值传递的。方法调用时,会为参数创建一个新的拷贝,因此在方法内部修改不会影响原参数。
  • 包装类型的值传递由于JVM的自动拆箱,实际上依然按值传递。

引用传递:

  • 对于对象和大多数类型(如Integer, StringBuffer等),传递的是对象的引用(即内存地址)。
  • 一个对象可以有多个引用,即便引用的值相同,它们都指向同一个对象。

区别:

  • 简单类型直接赋值的字符串按值传递,修改不影响原值。
  • 其他类型按引用传递,修改会影响原对象。

特殊注意:

  • 字符串的特殊性:在Java中,字符串的赋值方式导致其单独作为特殊值传递。
  • Object类的引用传递,修改会影响外部值。

结论:

  • Java按值传递和按引用传递的理解取决于参数类型。
  • 只有简单类型和通过字符串赋值的字符串是按值传递,其余类型为引用传递。

转载地址:http://usryk.baihongyu.com/

你可能感兴趣的文章
Java类实现一个类的障眼法
查看>>
Java基础学习总结(5)——多态
查看>>
Java基础学习总结(60)——Java常用的八种排序算法
查看>>
java计算机毕业设计(附源码)电影管理系统的设计与实现(springboot+mysql+maven+论文)
查看>>
Java基础学习总结(63)——Java集合总结
查看>>
Java基础学习总结(64)——Java内存管理
查看>>
Java基础学习总结(66)——配置管理库typesafe.config教程
查看>>
Java基础学习总结(67)——Java接口API中使用数组的缺陷
查看>>
Java基础学习总结(68)——有关Java线程方面的面试题
查看>>
Java基础学习总结(70)——开发Java项目常用的工具汇总
查看>>
Java基础学习总结(73)——Java最新面试题汇总
查看>>
Java基础学习总结(75)——Java反射机制及应用场景
查看>>
Java基础学习总结(76)——Java异常深入学习研究
查看>>
java酒店管理(ssm)
查看>>
Java基础学习总结(80)——Java性能优化详解
查看>>
Kubernetes 笔记 08 Deployment 副本管理 重新招一个员工来填坑
查看>>
Java基础知识陷阱系列
查看>>
Kubernetes 网络模型和网络通信
查看>>
Java基础系列
查看>>
Kubernetes 自定义服务的启动顺序
查看>>