°Lacrimosa 2009-04-27 22:44
浏览 423
已采纳

为什么对两个相同的Long使用equals方法返回是false?

今天做了一个试验:new Long(32).equals(new Long(32))。
这个表达式的返回值是false。为什么呢?这是JDK文档中的描述:

Compares this object to the specified object. The result is true if and only if the argument is not null and is a Long object that contains the same long value as this object.

是我做错了什么地方?还是JDK的问题?

  • 写回答

3条回答 默认 最新

  • zhoujuan520 2009-04-27 23:04
    关注

    [code="java"]public class Test {

    /**
     *
     * @param args
     */
    public static void main(String[] args) {
        System.out.println(new Long(32).equals(new Long(32)));//true
    
    }
    

    }
    [/code]

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 unity第一人称射击小游戏,有demo,在原脚本的基础上进行修改以达到要求
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
  • ¥15 关于#Java#的问题,如何解决?
  • ¥15 加热介质是液体,换热器壳侧导热系数和总的导热系数怎么算
  • ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计
  • ¥15 cmd cl 0x000007b
  • ¥20 BAPI_PR_CHANGE how to add account assignment information for service line
  • ¥500 火焰左右视图、视差(基于双目相机)
  • ¥100 set_link_state
  • ¥15 虚幻5 UE美术毛发渲染