欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java中比較運算符compareTo()、equals()與==的區(qū)別及應(yīng)用總結(jié)

 更新時間:2018年09月10日 14:50:53   作者:DM--Tutor  
這篇文章主要給大家介紹了關(guān)于Java中比較運算符compareTo()、equals()與==的區(qū)別及應(yīng)用的相關(guān)資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考借鑒,下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

前言

比較運算符用于判斷兩個數(shù)據(jù)的大小,例如:大于、等于、不等于。比較的結(jié)果是一個布爾值( true 或 false )。

Java 中常用的比較運算符如下表所示:

本文主要給大家介紹了關(guān)于Java比較運算符compareTo()、equals()與==區(qū)別及應(yīng)用的相關(guān)內(nèi)容,下面話不多說了,來一起看看詳細的介紹吧

1、== 和 equals的區(qū)別:

==主要是兩個變量值的比較,返回值為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 ,他們在內(nèi)存中對應(yīng)的地址是不一樣的,所以 a==b 返回的值是一個false.

==操作符并不涉及對象內(nèi)容的比較。若要對對象內(nèi)容進行比較,則用equals. 如果 在本例中,a.equals(b)則返回是一個true值。

總而言之,==是對對象地址的比較,而equals是對對象內(nèi)容的比較。對于基本數(shù)據(jù)類型,一般用==,而對于字符串的比較,一般用equals

2、對于compareTo(), 在API中,java.lang包下面的基本數(shù)據(jù)類型的封裝類都提供了該方法,如Integer,Float,Byte,Short,Character 等

在基本數(shù)據(jù)中,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");

  }
  }

程序的運行結(jié)果為:

false

true

s1 is equals s2

true

這里需要說明的一點,s2對象賦值給s1之后,s2和s1的引用其實是指向了內(nèi)存中的同一個位置。所以,再進行比較時,就是true.

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

相關(guān)文章

最新評論