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

网友投稿 244 2022-11-03


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

值传递

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

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.printlYbPrXzFVEIn("最终"+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

}

}


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:基于GMDH 的时间序列预测(Matlab代码实现)
下一篇:送给她超浪漫的表白信——她感动哭了(.html)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~