Go语言声明式数据备份工具CowBack:原理、实战与MySQL备份指南
2026/5/14 1:55:15
在 Java 中判断字符串数组是否包含特定字符串,有几种常见方法:
import java.util.Arrays; String[] array = {"a", "b", "c"}; boolean containsA = Arrays.asList(array).contains("a"); System.out.println(containsA); // 输出 trueString[] array = {"a", "b", "c"}; boolean found = false; for (String str : array) { if ("a".equals(str)) { found = true; break; } } System.out.println(found); // 输出 trueimport java.util.Arrays; String[] array = {"a", "b", "c"}; boolean containsA = Arrays.stream(array) .anyMatch("a"::equals); System.out.println(containsA); // 输出 trueimport 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:传统循环 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 时抛出异常
性能考虑:
小数组:哪种方法差异不大
大数组:方法1(Arrays.asList)更高效
区分大小写:如果需要忽略大小写:
// 忽略大小写比较 String[] array = {"A", "b", "c"}; boolean containsA = Arrays.stream(array) .anyMatch(s -> s != null && s.equalsIgnoreCase("a")); System.out.println(containsA); // 输出 true大多数情况:方法1(简洁高效)
需要额外逻辑处理:方法3(Stream API)
老版本Java或简单场景:方法2(传统循环)
选择哪种方法取决于你的具体场景和Java版本。