我有一个简单的问题。在下面的代码中,为什么即使我在之前将s3设为null,它的值仍然被打印出来呢?似乎垃圾回收器没有被调用。
任何想法都将不胜感激。
public class Test {
public static void main(String[] args) {
String s1 = "abc", s2 = "def", s3 = "ghj";
String sarr[] = {s1, s2, s3};
s3 = null;
System.gc();
for(int i = 0; i < sarr.length; i++) {
System.out.print(sarr[i] + " "); //prints abc def ghj
}
}
}
任何想法都将不胜感激。