淺談Java字符串比較的三種方法
java字符串如何進(jìn)行比較?
我們可以根據(jù)內(nèi)容和引用來(lái)比較Java中的String。
它用于身份驗(yàn)證(通過(guò) equals() 方法)、排序(通過(guò) compareTo() 方法)、引用匹配(通過(guò) == 運(yùn)算符)等。
Java中比較String的三種方式:
- 通過(guò)使用 equals() 方法
- 通過(guò)使用 == 運(yùn)算符
- 通過(guò) compareTo() 方法
1.通過(guò)使用 equals() 方法
String 類(lèi)的 equals() 方法比較字符串的原始內(nèi)容。它比較字符串的值是否相等。String 類(lèi)提供以下兩種方法:
public boolean equals(Object another)將此字符串與指定對(duì)象進(jìn)行比較。
public boolean equalsIgnoreCase(String another)將此字符串與另一個(gè)字符串進(jìn)行比較,忽略大小寫(xiě)。
測(cè)試字符串比較1.java
類(lèi) 測(cè)試字符串比較1{ 公共靜態(tài)無(wú)效 主要(字符串參數(shù)[]){ 字符串 s1= "薩欽" ; 字符串 s2= "薩欽" ; 字符串 s3=新 字符串(“薩欽” ); 字符串 s4= "Saurav" ; System.out.println(s1.equals(s2)); //真的 System.out.println(s1.equals(s3)); //真的 System.out.println(s1.equals(s4)); //錯(cuò)誤的 } }
輸出:
真的 真的 錯(cuò)誤的
在上面的代碼中,使用String類(lèi)的equals()方法比較兩個(gè)字符串。結(jié)果被打印為布爾值,true或false。
測(cè)試字符串比較2.java
類(lèi) 測(cè)試字符串比較2{ 公共靜態(tài)無(wú)效 主要(字符串參數(shù)[]){ 字符串 s1= "薩欽" ; 字符串 s2= "SACHIN" ; System.out.println(s1.equals(s2)); //錯(cuò)誤的 System.out.println(s1.equalsIgnoreCase(s2)); //真的 } }
輸出:
錯(cuò)誤的 真的
在上面的程序中,使用了String類(lèi)的方法。如果 String 對(duì)象匹配并且兩個(gè)字符串大小寫(xiě)相同,則 equals() 方法返回true 。無(wú)論字符串大小寫(xiě)如何, equalsIgnoreCase()都會(huì)返回 true。
2.通過(guò)使用 == 運(yùn)算符
== 運(yùn)算符比較引用而不是值。
測(cè)試字符串比較3.java
類(lèi) 測(cè)試字符串比較3{ 公共靜態(tài)無(wú)效 主要(字符串參數(shù)[]){ 字符串 s1= "薩欽" ; 字符串 s2= "薩欽" ; 字符串 s3=新 字符串(“薩欽” ); System.out.println(s1==s2); //true(因?yàn)閮烧叨家猛粋€(gè)實(shí)例) System.out.println(s1==s3); //false(因?yàn)閟3是指在非池中創(chuàng)建的實(shí)例) } }
輸出:
真的 錯(cuò)誤的
3.通過(guò)使用 compareTo() 方法
String 類(lèi) compareTo() 方法按字典順序比較值并返回一個(gè)整數(shù)值,該值描述第一個(gè)字符串是否小于、等于或大于第二個(gè)字符串。
假設(shè) s1 和 s2 是兩個(gè) String 對(duì)象。如果:
s1 == s2:該方法返回 0。
s1 > s2:該方法返回一個(gè)正值。
s1 < s2:該方法返回一個(gè)負(fù)值。
測(cè)試字符串比較4.java
類(lèi) 測(cè)試字符串比較4{ 公共靜態(tài)無(wú)效 主要(字符串參數(shù)[]){ 字符串 s1= "薩欽" ; 字符串 s2= "薩欽" ; 字符串 s3= "拉坦" ; System.out.println(s1.compareTo(s2)); //0 System.out.println(s1.compareTo(s3)); //1(因?yàn)閟1>s3) System.out.println(s3.compareTo(s1)); //-1(因?yàn)?s3 < s1 ) } }
輸出:
0 1 -1
到此這篇關(guān)于淺談Java字符串比較的三種方法的文章就介紹到這了,更多相關(guān)Java字符串比較方法內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
java web在高并發(fā)和分布式下實(shí)現(xiàn)訂單號(hào)生成唯一的解決方案
這篇文章主要介紹了java web在高并發(fā)和分布式下實(shí)現(xiàn)訂單號(hào)生成唯一的解決方案,需要的朋友可以參考下2017-11-11IDEA 2019.2.2配置Maven3.6.2打開(kāi)Maven項(xiàng)目出現(xiàn) Unable to import Maven
這篇文章主要介紹了IDEA 2019.2.2配置Maven3.6.2打開(kāi)Maven項(xiàng)目出現(xiàn) Unable to import Maven project的問(wèn)題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-12-12SpringBoot數(shù)據(jù)層測(cè)試事務(wù)回滾的實(shí)現(xiàn)流程
這篇文章主要介紹了SpringBoot數(shù)據(jù)層測(cè)試事務(wù)回滾的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧2022-10-10webuploader 實(shí)現(xiàn)圖片批量上傳功能附實(shí)例代碼
這篇文章主要介紹了webuploader 實(shí)現(xiàn)圖片批量上傳功能,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2017-11-11SpringBoot將項(xiàng)目打成war包步驟解析
這篇文章主要介紹了SpringBoot將項(xiàng)目打成war包步驟解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-03-03