1. ==比较的是:对象是否同一个.
2. b=new Integer(4); 会在堆上生成一新对象, 与原来的不同.

解决方案 »

  1.   

    如果一开始 b==a的话,那么意味着a,b是指向同一个对象的两个reference.
    现在如果改变b的话,a 也应该相应的变化
    那么改变b后,b==a仍然成立呀?
    关键是a,b都是由SerialNum.get()得来的,应该是ThreadLocal造成的把?
      

  2.   

    //现在如果改变b的话,a 也应该相应的变化
    错!a b只是reference, 改变了reference, 并不是改了所指向的object另外, Integer等Wrapper类是不可变类, 只能重新new, 不能改