话不多说,直接上代码
一、代码
@org.junit.Test
public void test7(){
int a= 3;
add(a);
System.out.println(a);
List<String> list = new ArrayList<>();
list.add("c");
addList(list);
System.out.println(list.size());
}
private void addList(List<String> list) {
list.add("d");
}
private void add(int a) {
a= a +4;
}
二、结果
三、原因
因为int是基本数据类型,基本数据类型在java内存中是存在栈内存中的,一旦方法执行完后,会自动出栈,变量都会释放,空间消失。
而对象在java中是存在堆内存中的,所以值会被改变。