java参数传递之值传递和引用传递

作者:leo_host 时间:2021-09-26 10:28:46 

值传递

当调用方法进行值传递时,方法内部会产生一个局部变量,在方法内部使用局部变量的值,并不影响传入原来数据的值,包括在使用基本数据类型的包装类。


public class Assc
{
public static void main(String[] args)
{
int x1=1;
add(x1);
System.out.println("最终"+x1);//1
Integer x2=new Integer(1);
sub(x2);
System.out.println("最终"+x2);//1
}
public static void add(int x) {
x++;
System.out.println(x); //2
}
public static void sub(Integer x) {
x--;
System.out.println(x);//0
}

}

引用传递

当调用方法时使用引用类型参数时,使用的是与传入参数同一地址的数据,在方法内部进行参数的修改,会造成原来数据的改变(String 类型除外)

String类型数据在传入时,进行的操作是在字符串常量池中新建一个字符串,并不影响原先字符串的值


public class Assc
{
public static void main(String[] args)
{
String str="hello";
combine(str);
System.out.println("最终"+str);//hello
StringBuilder sb=new StringBuilder("nihao");
combine2(sb);
System.out.println("最终"+sb);//nihaoworld
}

public static void combine(String str) {
str+="world";
System.out.println(str);//helloworld
}
public static void combine2(StringBuilder str) {
str.append("world");
System.out.println(str);//nihaoworld
}
}

来源:https://www.cnblogs.com/leohost/p/14388853.html

标签:java,值传递,引用传递,参数传递
0
投稿

猜你喜欢

  • 10种简单的Java性能优化

    2023-06-20 20:43:41
  • C#线程入门教程之单线程介绍

    2022-03-15 20:37:28
  • 字符串阵列String[]转换为整型阵列Int[]的实例

    2021-07-22 08:19:17
  • C#根据前台传入实体名称实现动态查询数据

    2021-06-17 09:28:43
  • JAVA抽象类,接口,内部类详解

    2023-11-09 16:37:25
  • 基于java的opencv开发过程详解

    2022-03-31 20:02:59
  • spring boot使用thymeleaf为模板的基本步骤介绍

    2023-12-13 15:07:23
  • 解决myBatis返回integer值的问题

    2022-07-23 18:17:38
  • c#生成高清缩略图的二个示例分享

    2023-04-09 23:21:46
  • Java之Spring注解开发案例详解

    2022-05-23 05:33:02
  • Spring Boot 静态资源处理方式

    2022-09-14 11:14:39
  • idea的使用之关于tomcat热部署的教程

    2022-12-02 20:16:46
  • Android实现多线程断点下载

    2023-08-11 00:45:28
  • Android编程开发之TextView单击链接弹出Activity的方法

    2023-08-06 18:27:11
  • 基于C#实现手机号码归属地接口调用

    2022-07-14 09:46:54
  • Java代码实现微信页面滚动防露底(核心代码)

    2023-11-10 13:47:08
  • 一个简陋的java图书管理系统

    2021-08-10 23:49:40
  • 教你用Java GUI实现文本文件的读写

    2023-05-25 06:47:13
  • C# 调用腾讯即时通信 IM的示例

    2021-10-29 16:31:17
  • C#使用DevExpress中的XtraCharts控件实现图表

    2022-12-21 10:14:10
  • asp之家 软件编程 m.aspxhome.com