不知道你懂不懂指针,对于n1=new Integer(47);这是地址一,Integer n2 = new Integer(47);是地址二,句柄就相当于指针,指针指向不同的地址,当然句柄是不同的了.

解决方案 »

  1.   

    n1 和 n2 分别引用一个Interger类型的对象 这两个对象虽然他们的值都是一样的
    但n1==n2比较的不是它们所引用对象得值 而是这两个引用n1 n2本身因为n1 n2不是引用的同一个对象 那么n1==n2理所当然是false若想比较它们所引用对象得值 可以用n1.equals(n2) 这样才会得到true明白了吧
      

  2.   

    死猪说的有理!java中的对象都是句柄,你可以认为是一个指针,但是比指针方便也安全一些。
    你的n1,n2两次new出来的,所以是两个句柄(指针),当然是不相同的了。
      

  3.   

    不要说句柄
    在java里面这个叫reference(引用)
      

  4.   

    我同意illia的说法,应该叫做引用
      

  5.   

    呵呵~~我觉得handle 翻译成句柄 真是...感觉和 good good study day day up 的水平差不多