从理解上你按照按引用传递比较容易接受点,毕竟最终源对象的值发生了改变。你可以做一个这样的测试:
private void zhi(List a)
{
a.add("555");
System.out.println(a.get(0));//这里会打印出一行555来
System.out.println(list.get(0));//此处是你在调用方法时传入的参数list,他在这个地方是不会改变的,假设他的size为0,那么此处应该会报错。
}
而你在main方法内再次打印list的第0个值时会发现打印出555(将方法内的第二个输出语句删除后)
最终结论他是按值传递 |