Java中比较运算符compareTo()、equals()与==的区别及应用总结

比较运算符用于判断两个数据的大小,例如:大于、等于、不等于。比较的结果是一个布尔值( true 或 false )。

Java 中常用的比较运算符如下表所示:

比较运算符名称举例结果
>大于a=5;b=2;a>btrue
<小于a=5;b=2;a<bfalse
>=大于等于a=5;a>=3 ;true
<=小于等于a=5;b=2;a<=b;false
==等于a=5;b=2;a==b;false
!=不等于b=2;b!=2;false

本文主要给大家介绍了关于Java比较运算符compareTo()、equals()与==区别及应用的相关内容,下面话不多说了,来一起看看详细的介绍吧

1、== 和 equals的区别:

== 主要是两个变量值的比较,返回值为true 或者是false。对于普通变量,如:int a=10; int b= 10; a==b,返回为 true。
而对于下面情况:

String a=new String("abc");
 
String b=new String("abc");

a == b; 返回的则是一个false。这是因为,对于对象的比较是对对象引用的比较,对于a和b ,他们在内存中对应的地址是不一样的,所以 a==b 返回的值是一个false.

==操作符并不涉及对象内容的比较。若要对对象内容进行比较,则用equals. 如果 在本例中,a.equals(b)则返回是一个true值。

总而言之,== 是对对象地址的比较,而equals是对对象内容的比较。对于基本数据类型,一般用 == ,而对于字符串的比较,一般用equalss

2、对于compareTo(), 在API中,java.lang包下面的基本数据类型的封装类都提供了该方法,如Integer,Float,Byte,Short,Character 等

在基本数据中,compareTo()是比较两个Character 对象;

在 Boolean中,是用boolean的实例于其它实例进行比较;

在String 中,则是按照字典顺序进行比较,返回的值是一个int 型。
贴一段代码

public class Test{
 public static void main(String args[]){
 
 String s1=new String("abc");
 
 String s2=new String("abc");
 
 System.out.println((s1==s2)? "true":"false");
 
 System.out.println((s1.equals(s2))? "true":"false");
 
 if(s1.compareTo(s2)==0){
 
 System.out.println("s1 is equal s2");}
 
 s1=s2;
 
 System.out.println((s1==s2)? "true":"false");
 
  }
  }

程序的运行结果为:

false
true
s1 is equals s2
true

这里需要说明的一点,s2对象赋值给s1之后,s2和s1的引用其实是指向了内存中的同一个位置。所以,再进行比较时,就是true.

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值