国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

java運(yùn)算符的比較:==和equals,compareTo()

2019-11-14 10:22:54
字體:
供稿:網(wǎng)友

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。這是因?yàn)?,對于對象的比較是對對象引用的比較,對于a和b ,他們在內(nèi)存中對應(yīng)的地址是不一樣的,所以 a==b 返回的值是一個false.

==操作符并不涉及對象內(nèi)容的比較。若要對對象內(nèi)容進(jìn)行比較,則用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的實(shí)例于其它實(shí)例進(jìn)行比較;

在String 中,則是按照字典順序進(jìn)行比較,返回的值是一個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");

       }     }

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

false

true

s1 is equals s2

true


發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 安化县| 福海县| 平武县| 肥城市| 响水县| 涞水县| 原阳县| 榆社县| 商洛市| 罗城| 新营市| 鹤庆县| 抚顺市| 寿阳县| 武川县| 南丹县| 和平区| 东安县| 富平县| 那坡县| 东宁县| 祁连县| 平罗县| 横山县| 佳木斯市| 新民市| 南阳市| 五大连池市| 平阳县| 瑞昌市| 蓝田县| 德昌县| 长海县| 五峰| 康马县| 浙江省| 金沙县| 巫溪县| 民权县| 白水县| 汉源县|