美文网首页
Java只有值传递,引用类型传参需要注意的地方

Java只有值传递,引用类型传参需要注意的地方

作者: LuciusWang | 来源:发表于2020-08-22 01:28 被阅读0次

1. Java的数据类型分为基本数据类型(byte、short、int、long、float、double)和引用数据类型(String、Integer、Long、List、Map、自己定义的类......)。对于基本数据类型和引用数据类型,Java都是使用了值传递。
2. 对于基本数据类型,就是将实参的值拷贝一份给形参;对于引用数据类型传递参数时,不是将引用所指的对象传递过去,而是将引用的值,即地址传递过去。
3. 对于String这种类型的参数,虽是引用类型,但是形参改变并不会影响实参的变化。因为在JVM中操作String类型的变量时,如果变量改变,JVM并不会改变变量所指内存地址中的数据,而是新开辟一块内存存储新的值,并将变量指向新的内存地址。
简单来说就是,String类型的对象,java实现的方式比较特殊。修改这种类型的变量,就是重新生成一个对象,并让变量指向新的地址,而不是去修改原地址中的对象。

相关文章

  • Java Lambda表达式引用局部变量的原理

    规则1 Java中变量分为:基本类型变量和引用类型变量 规则2 Java方法传参只有值传递,没有引用传递,传递的值...

  • Java只有值传递,引用类型传参需要注意的地方

    1. Java的数据类型分为基本数据类型(byte、short、int、long、float、double)和引用...

  • 作用域和值类型引用类型的传递及试题

    作用域 值类型和引用类型的传递 函数传参为值传递 传递的是对象指针的副本

  • Java 与值传递

    问: 什么是值传递?什么是引用传递?为什么说 Java 中只有值传递? 一、值传递与引用传递 实参与形参: 实际参...

  • 一张图解决java传值传引用问题

    分析此类问题只需要知道两点:java有两种传参方式,基本类型用传值,包装类型用传引用无论是传值还是传引用,形参都是...

  • 一张图解决java传值传引用问题

    分析此类问题只需要知道两点:java有两种传参方式,基本类型用传值,包装类型用传引用无论是传值还是传引用,形参都是...

  • Java基础

    值传递和引用传递 基本数据类型传值,对形参的修改不会影响实参 引用类型传引用,形参和实参指向同一个内存地址(同一个...

  • java--参数传递问题

    【前方注意】:java中只存在值传递,值传递,值传递!!! 一、值传递(一切传引用其实本质上是传值) 总所周知,j...

  • Java值传递、数据加密

    值传递 Java 基本类型值传递,引用类型值传递 内存图解:

  • 函数的参数传递

    按值传递 按值传递:修改形参的值并不会影响实参。但如果传递的是引用类型,形参的值也会影响实参。按引用类型传递:修改...

网友评论

      本文标题:Java只有值传递,引用类型传参需要注意的地方

      本文链接:https://www.haomeiwen.com/subject/hvemjktx.html