方法里基本类型参数,方法内部改变不会修改方法外部的值
程序员文章站
2022-03-16 08:49:49
...
话不多说,直接上代码
一、代码
@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中是存在堆内存中的,所以值会被改变。
上一篇: C++循环双链表带头节点
下一篇: 古代农民起义那么多 为何很少有成功的案列