解决方案 »

  1.   

    for ( p = head; p != null; p = p.next)
       这里p=head,这是把head的对象引用赋值给p,就也就是对象head的地址值给了p,p发生改变,head值也会变了
      

  2.   

    已验证。song_1990的解释是合理的
      

  3.   

    同意 if(!isEmpty())为false自然是走的else,然后就是把new Node赋给了head啊
      

  4.   

    断点调试下 可以看出 前一个的new Node<T>(item).next 都是下一个的new Node<T>(item),如果把new出来的Node对象比作一个圆圈,第一个圆圈是最大的以后每个圆圈都是画在上一个圆圈里面的嵌套关系