标签:
Long userId=127L; Long authorId=127L; System.out.println(userId==authorId);//true userId=128L; authorId=128L; System.out.println(userId==authorId);//false Long x=new Long(127); Long y=new Long(127); System.out.println(x==y);//false System.out.println(x.equals(y));//true
Long是引用类型,要比较两个Long的大小,一定要用equals而不能用==
但是,当Long为常量且常量值小于一个字节时,两个Long指向同一个常量内容;
当Long为常量且常量值大于一个字节是,两个Long指向不同的常量内容。
最后总结,引用比较一定要用equals而不要用==
这个问题有多重要,在此说明一下。
我跟同学上线了一个话题帖子交流系统app,帖子是不是转发的通过帖子的用户Id与帖子的作者Id进行判等。到了127号用户之后出问题了,用户自己发的帖子显示的却是转发的。
标签:
原文地址:http://www.cnblogs.com/weidiao/p/5468065.html