java中==和equal()的区别

来源:互联网 发布:用java从键盘输入数据 编辑:程序博客网 时间:2024/06/03 04:31

一、比较基本数据类型(注:java中共有8大基本数据类型)

   比较两个基本数据类型是否相等用 == ,因为只有类才有equal方法


二、比较引用数据类型

   euqals和==本质上都是比较的是两个对象的引用(内存地址)是否相同。equals()是Object类的方法 ,object类是所有类的基类,所以每个类都会继承equals()方法。但在String,Integer,Date在这些类当中重写了equals方法,而不再是比较对象在堆内存中的存放地址了,而是指向他们的值是否相同

下面是代码展示:
<span style="white-space:pre"></span>String s1 = new String("123");String s2 = new String("123");String s3 = "abc";String s4 = "abc";Integer i1 = new Integer(1);Integer i2 = new Integer(1);int a = 1;int b = 1;System.out.println( s1==s2 );System.out.println( s3==s4 );System.out.println( i1==i2 );System.out.println( a==b );System.out.println( s1.equals(s1) );System.out.println( s3.equals(s4) );System.out.println( i1.equals(i2) );
结果:
falsetruefalsetruetruetruetrue

0 0
原创粉丝点击