java中判斷字符串?dāng)?shù)組是否包含特定字符串的三種方法實現(xiàn)與對比
在 Java 中判斷字符串?dāng)?shù)組是否包含特定字符串,有幾種常見方法:
方法1:使用 Arrays.asList() 和 contains()
import java.util.Arrays;
String[] array = {"a", "b", "c"};
boolean containsA = Arrays.asList(array).contains("a");
System.out.println(containsA); // 輸出 true方法2:使用循環(huán)遍歷
String[] array = {"a", "b", "c"};
boolean found = false;
for (String str : array) {
if ("a".equals(str)) {
found = true;
break;
}
}
System.out.println(found); // 輸出 true方法3:使用 Java 8+ Stream API
import java.util.Arrays;
String[] array = {"a", "b", "c"};
boolean containsA = Arrays.stream(array)
.anyMatch("a"::equals);
System.out.println(containsA); // 輸出 true方法4:完整示例(包含 null 安全處理)
import java.util.Arrays;
public class StringArrayCheck {
public static void main(String[] args) {
String[] array = {"apple", "banana", "a", "cherry"};
// 方法1:Arrays.asList
System.out.println("方法1: " + Arrays.asList(array).contains("a"));
// 方法2:傳統(tǒng)循環(huán)
boolean found = false;
for (String s : array) {
if ("a".equals(s)) { // 使用 "a".equals(s) 避免 NPE
found = true;
break;
}
}
System.out.println("方法2: " + found);
// 方法3:Stream API
System.out.println("方法3: " +
Arrays.stream(array).anyMatch("a"::equals));
}
}注意事項
空指針安全:使用 "a".equals(str)而不是 str.equals("a"),避免 str 為 null 時拋出異常
性能考慮:
- 小數(shù)組:哪種方法差異不大
- 大數(shù)組:方法1(Arrays.asList)更高效
區(qū)分大小寫:如果需要忽略大小寫:
// 忽略大小寫比較
String[] array = {"A", "b", "c"};
boolean containsA = Arrays.stream(array)
.anyMatch(s -> s != null && s.equalsIgnoreCase("a"));
System.out.println(containsA); // 輸出 true推薦用法
- 大多數(shù)情況:方法1(簡潔高效)
- 需要額外邏輯處理:方法3(Stream API)
- 老版本Java或簡單場景:方法2(傳統(tǒng)循環(huán))
選擇哪種方法取決于你的具體場景和Java版本。
到此這篇關(guān)于java中判斷字符串?dāng)?shù)組是否包含特定字符串的三種方法實現(xiàn)與對比的文章就介紹到這了,更多相關(guān)java判斷字符串內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
java使用poi讀取ppt文件和poi讀取excel、word示例
這篇文章主要介紹了java使用poi讀取ppt文件和poi讀取excel、word示例,需要的朋友可以參考下2014-03-03
使用注解@Validated和BindingResult對入?yún)⑦M(jìn)行非空校驗方式
這篇文章主要介紹了使用注解@Validated和BindingResult對入?yún)⑦M(jìn)行非空校驗方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-10-10
springboot整合ehcache 實現(xiàn)支付超時限制的方法
在線支付系統(tǒng)需要極高的穩(wěn)定性,在有限的系統(tǒng)資源下,穩(wěn)定性優(yōu)先級要高于系統(tǒng)并發(fā)以及用戶體驗,因此需要合理的控制用戶的支付請求。下面通過本文給大家介紹springboot整合ehcache 實現(xiàn)支付超時限制的方法,一起看看吧2018-01-01
SpringBoot利用EasyExcel實現(xiàn)導(dǎo)出數(shù)據(jù)
EasyExcel是一個基于Java的、快速、簡潔、解決大文件內(nèi)存溢出的Excel處理工具,它能讓你在不用考慮性能、內(nèi)存的等因素的情況下,快速完成Excel的讀、寫等功能看,本文就將介紹如何利用EasyExcel實現(xiàn)導(dǎo)出數(shù)據(jù),需要的朋友可以參考下2023-07-07
Java Validation Api實現(xiàn)原理解析
這篇文章主要介紹了Java Validation Api實現(xiàn)原理解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-09-09
jdk環(huán)境變量配置切換jdk版本及安裝jdk后環(huán)境變量不生效問題解決辦法
這篇文章主要介紹了jdk環(huán)境變量配置切換jdk版本及安裝jdk后環(huán)境變量不生效問題解決辦法,包括配置JAVA_HOME、Path和CLASSPATH,以及如何驗證配置是否成功,文章還講解了如何切換JDK版本,并解決了安裝新JDK后環(huán)境變量配置不生效的問題,需要的朋友可以參考下2024-12-12

