可能重复:
Is Java “pass-by-reference”?为什么代码打印'test'而不是NullPointerException?
为什么下面打印 '测试',而不是抛出一个NullPointerException
的代码?
public static void main(String[] args) {
StringBuilder sb = new StringBuilder();
sb.append("test");
append(sb);
System.out.println(sb.toString());
}
public static void append(StringBuilder sb) {
sb = null;
}
如果您在调试器中逐步调试代码,您将会看到每行代码在做什么,并且会使这一点更加清晰。 – 2012-08-09 12:59:54