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