第一种ArrayList<ChainNode> list = new ArrayList<ChainNode>();
ChainNode Node1 = new ChainNode(a,"first");
list.add(Node1);
ChainNode Node2 = new ChainNode(b,"second");
list.add(Node2);第二种ArrayList<ChainNode> list = new ArrayList<ChainNode>();
ChainNode Node1 = new ChainNode(a,"first");
list.add(Node1);
Node1 = new ChainNode(b,"second");
list.add(Node1);其中a和b是某种数据类型,这个应该没关系吧
这两种方式有什么区别呢?
ChainNode Node1 = new ChainNode(a,"first");
list.add(Node1);
ChainNode Node2 = new ChainNode(b,"second");
list.add(Node2);第二种ArrayList<ChainNode> list = new ArrayList<ChainNode>();
ChainNode Node1 = new ChainNode(a,"first");
list.add(Node1);
Node1 = new ChainNode(b,"second");
list.add(Node1);其中a和b是某种数据类型,这个应该没关系吧
这两种方式有什么区别呢?
你的实参不过是个对象引用。
因为集合中保存的是引用。
第一种写法中。每个ChainNode 对象就有两个引用指向它。
第二种写法中。除了最后一个有两个引用外,其他的都只有一个(就是集合中保存的哪个)