永发信息网

String 类型的可以用equals判断,那Integer类型的用equals怎么不好用呀?

答案:4  悬赏:0  手机版
解决时间 2021-11-18 17:19
  • 提问者网友:太高姿态
  • 2021-11-18 04:25
String 类型的可以用equals判断,那Integer类型的用equals怎么不好用呀?
最佳答案
  • 五星知识达人网友:鸽屿
  • 2021-11-18 04:35
Integer类型的要转换为int去判断,就好用了。
Integer a=new Integer(3);
Integer b=new Integer(3);
int a1=a.intValue();
int b1=b.intValue();
blean bb=a1==b1;//这里就输出true了。
因为Integer是对象类型,你用equals比较是两个引用是否指向同一个对象,很多时候不是指向同一个对象,所以,你用equals得出的结果就是false,比如上面的a和b用a.equals(b),结果是false,当然对于Integer类型还有其它特殊规定,但是明白到这里就足够用了。
全部回答
  • 1楼网友:往事隔山水
  • 2021-11-18 07:27
用==比较两个Integer对象,无语法错误,但本人估计并不是比较对象的值,而是个指针(内存中的存储地址),所以用equals()能是较两对象的值,谁说不能用呢?
Integer a=new Integer(3);
Integer b=new Integer(3);

System.out.println(a==b); //为fase
System.out.println(a.equals(b));//为true

fuck~~
没想到楼上比我先,这可是俺自己想出来的,不要以为抄袭!~数字也一样,晕~
  • 2楼网友:何以畏孤独
  • 2021-11-18 06:03
Integer a=new Integer("9");
Integer b=new Integer("10");

真确:a.equals(b);
错误 a.equals(10);
  • 3楼网友:罪歌
  • 2021-11-18 05:15
当然啊用==
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯