Java中==和equals()的区别

1.==用于比较引用数据类型和比较基本数据类型时具有不同的功能:
比较基本数据类型,如果两个值相同,则结果为true。
eg:

package demo;

public class Demo {
    public static void main(String[] args){
          Demo demo =new Demo();
          int  a  = 1;
          int  b  = 2;
            System.out.println(demo.compare(a,b));
            }
      boolean  compare(int x ,int y){
            if(x==y){
                return true;
            }else return false;
      }

}

这段代码返回false。

而在比较引用数据类型时,如果引用指向内存中的同一对象,结果为true
eg:

package demo;

public class Demo {
    public Demo(){

    }
    public Demo(int x){

    }
    public static void main(String[] args){
         Demo demo = new Demo();
         Demo  a = new Demo(123);
         Demo  b = new Demo(123);
         System.out.println(demo.compare(a,b));
            }
      boolean  compare(Demo x ,Demo y){
            if(x==y){
                return true;
            }else return false;
      }

}

这段代码返回false,因为a,b虽然内容一致,却指向不同的对象。

2.equals 方法(是String类从它的超类Object中继承的)被用来检测两个对象是否相等,即两个对象的内容是否相等,区分大小写。
eg:

package demo;

public class Demo {
    public static void main(String[] args){
         Demo demo = new Demo();
         String  a = "123";
         String  b = "123";

         System.out.println(demo.compare(a,b));
            }
      boolean  compare( String x ,String y){
            if(x.equals(y)){
                return true;
            }else return false;
      }

}

返回true,因为两个对象的内容一样。


总结:
(1)比较基本数据类型的数据是否相等,如int,long,floar,double等数据类型,用“== ”比较。

(2)比较String等引用数据类型数据是否相等,用equals()来比较。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值