按值调用和引用调用
在Java中,只有按值调用(值传递),没有按引用调用。
基本数据类型 不改变其值
public static void main(String[] args) {
int num = 6;
System.out.println("传之前"+num);
add(num);
System.out.println("传之后"+num);
}
public static void add(int num){
System.out.println(num);
num = 1;
System.out.println(num);
}
基本数据类型传递时,不会传递原本数据,而是拷贝一个副本,传递副本,在方法引用完成后,副本也随之消失,不改变原始数据
引用数据类型 会变化
public static void main(String[] args) {
List<String> list = new ArrayList<>();
list.add("abcd");
System.out.println("传之前"+list.toString());
aList(list);
System.out.println("传之后"+list.toString());
}
public static void aList(List<String> list){
list.add("fff");
}
list只是指向引用地址