概述
今天写让通知由未读变成已读的时候: 两个id(Long类型)之间的比较我首先用的 != 但他一直提示,于是我百度了一下。
首先Long不是基本类型;是对象类型
基本类型与包装类型:
整型:byte、short、int、long
浮点数:float、double
字符型:char
布尔型:boolean
包装类型:是比较两个对象的地址
相等(如果是两个不同的Long对象,就算值相同,用==也是不相等)
基本类型/值类型 | 对象类型/引用类型/包装类型/类 |
---|---|
byte | Byte |
short | Short |
int | Integer |
long | Long |
float | Float |
double | Double |
char | Character |
boolean | Boolean |
拆箱装箱:
拆箱:包装类型 转换为 基本类型
装箱:基本类型 转换为 包装类型 (new 包装类型)
new Integer(1) //装箱
Integer i = 0; //自动装箱
区别:
Integer a=200;
Integer b=200;
a == b ;//false
包装类型:要通过new
关键字来创建对象;是比较两个对象的地址
相等才相等;所以用equals来比较
基本类型直接赋值
最后
以上就是壮观外套为你收集整理的Long之间比较需要用equals 而不是 ==;基本类型与包装类型的全部内容,希望文章能够帮你解决Long之间比较需要用equals 而不是 ==;基本类型与包装类型所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复