说明
1.java引用类型复制的时候经常和栈的变量相结合,需要准确的理解方法栈
示例代码
List<TreeNode> treeNodeList = new ArrayList<>();
TreeNode treeNode = new TreeNode(1);
TreeNode treeNodeLeft = new TreeNode(2);
TreeNode treeNodeRight = new TreeNode(3);
treeNode.left =treeNodeLeft;
treeNode.right = treeNodeRight;
treeNodeList.add(treeNode);
treeNodeLeft = null;
System.out.println(treeNode.left.val);
说明
1.上述的代码 System.out.println(treeNode.left.val); 不会报错
原理分析
说明
1.由于进行 treeNodeLeft = null; 的时候是针对栈的,并不会影响到treenode.left的引用