今天又碰到了这个坑,纠结好久,记下来加深印象。
在java中,多个引用指向一个对象,aa指向一个节点对象,其他bb和cc指向aa。
此时aa,bb,cc指向的是同一个对象,注意bb和cc不是指向的aa这个引用,当aa重新指向一个新对象时,bb和cc并不会跟着aa指向新对象。
ListNode aa = new ListNode(9);
ListNode bb = aa;
ListNode cc = bb;
System.out.println(aa);
System.out.println(bb);
System.out.println(cc);
aa = new ListNode(10);
System.out.println(aa);
System.out.println(bb);
System.out.println(cc);
运行结果:
ListNode@1540e19d
ListNode@1540e19d
ListNode@1540e19d
ListNode@677327b6
ListNode@1540e19d
ListNode@1540e19d