包装器类的比较

2018-10-08  本文已影响0人  熨斗目花

int a=1;
Integer b=new Integer(1);
Integer c=new Integer(1);
System.out.println(c==b);
false

int a=1;
Integer b=new Integer(1);
Integer c=new Integer(1);
System.out.println(a==b);
true

你懂了吧
-基本型和基本型封装型进行“==”运算符的比较,基本型封装型将会自动拆箱变为基本型后再进行比较。

int a=1;
Integer b=new Integer(1);
Integer c=new Integer(1);
System.out.println(b.equals(a));
true

-两个基本型的封装型进行equals()比较,首先equals()会比较类型,如果类型相同,则继续比较值,如果值也相同,返回true

int a=1;
Integer b=new Integer(1);
Integer c=new Integer(1);
System.out.println(c.equals(b));
true

一言以蔽之,对于Integer(包装器类),用equals。不要给我==,==没好事。

上一篇下一篇

猜你喜欢

热点阅读