public class StackOverFlow {
public static void main(String[] args) {
ArrayList<String> al = new ArrayList<String>();
al.add("A");
al.add("B");
markAsNull(al);
System.out.println("ArrayList elements are "+al);
String str = "Hello";
markStringAsNull(str);
System.out.println("str "+ str);
}
private static void markAsNull(ArrayList<String> str){
str.add("C");
str= null;
}
private static void markStringAsNull(String str){
str = str + "Append me";
str = null;
}
}
这输出:
ArrayList elements are [A, B, C]
str Hello
在 的情况下ArrayList
,将检索添加的元素。如果String
方法调用对传递的字符串没有影响。JVM到底在做什么?谁能详细解释一下?