继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

java基本类型和包装类型的“==”和equals()方法

等候稻香
关注TA
已关注
手记 7
粉丝 16
获赞 81

public class HelloWorld {

/*
1、基本型和基本型封装型进行“==”运算符的比较,基本型封装型将会自动拆箱变为基本型后再进行比较,
因此Integer(0)会自动拆箱为int类型再进行比较,如1,4行,显然返回true。
另外两个Integer对象进行“==”比较时,如果有一方的Integer对象是new获得的,返回false,因为比较的是两个对象的地址,如5,6。
3、两个基本型的封装型进行equals()比较,首先equals()会比较类型,如果类型相同,则继续比较值,如果值也相同,返回true,如8,10。
4、基本型封装类型调用equals(),但是参数是基本类型,这时候,先会进行自动装箱,基本型转换为其封装类型,若类型不同返回false,
若装箱后类型相同,则比较值,如果值相同,则返回true,否则返回false。如7,9。*
/
public static void main(String[] args) {

int a=257;
Integer b=257;
Integer c=257;
Integer d=new Integer(a);
Integer d1=new Integer(a);

Integer b2=57;
Integer c2=57;

System.out.println(a==b);//1
System.out.println(b==c);//2
System.out.println(b2==c2);//3
System.out.println(a==d);//4
System.out.println(b==d);//5
System.out.println(d==d1);//6

/**以上输出结果:
 * true
   false
   true
   true
   false
   false

 */

System.out.println();

//System.out.println(a.equals(b));  编译出错,基本型不能调用equals()
System.out.println(b.equals(257.0));  //7
System.out.println(b.equals(c));       //8
System.out.println(b.equals(a));      //9
System.out.println(b.equals(d));    //10

/**
 * 以上输出结果:

false
true
true
true

 */

}
}

打开App,阅读手记
2人推荐
发表评论
随时随地看视频慕课网APP

热门评论

我只想留下一条路给自己走~!~~~

查看全部评论