java中传值和传引用怎么区别

怎么看出或什么情况下是传值、什么情况下是传引用?最好能举个例,谢谢

在方法参数传递中当变量是8大基本数据类型的时候,就是传值,在方法里被修改了这个也不会影响

当变量是Object类型的时候,就是传引用看图吧

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-10-01
传值就是你改变这个值,不会改变原值;
传引用就是你改变这个值,不会改变原值;
java方法基本数据类型是传值,对象类型传引用,这是千真万确的。
当参数是对象时,无论方法体内进行了何种操作,都不会改变实参对象的引用。
当参数是对象时,只有在方法内部改变了对象的内容时,才会改变实参对象内容。
第2个回答  推荐于2017-09-17

传值就是你改变这个值,不会改变原值。例如

int a=1;

把a作为参数经过方法调用,在方法中改变a的值如。

a=2;

在方法中a是变成2了。

但是在外面a还是1。.

如果是传引用,值是会变的。

例如这样

public class Test {
public void test(List list){
list.remove(0);
list.add("b");
}
public static void main(String[] args) {
String a="123";
List list=new ArrayList();
list.add(a);
new Test().test(list);
 
System.out.println(list.get(0));
}
}

追问

谢谢,我就是想知道怎么判别形参是传值还是传引用

追答

传值是少数。基本数据类型和String是值传递。
传对象的都是传引用。

本回答被提问者采纳
第3个回答  2014-08-07
基本数据类型传递时值传递;
对象传递都是引用传递;
你可以传一个int和integer,改变一下值在输出看看,就明确了
第4个回答  2014-08-07
Java只有值传递