java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > java判断字符串

java中判断字符串数组是否包含特定字符串的三种方法实现与对比

作者:悟能不能悟

这篇文章主要为大家详细介绍了java中判断字符串数组是否包含特定字符串的三种方法实现与对比,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下

在 Java 中判断字符串数组是否包含特定字符串,有几种常见方法:

方法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:使用循环遍历

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:传统循环
        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 时抛出异常

性能考虑

区分大小写:如果需要忽略大小写:

// 忽略大小写比较
String[] array = {"A", "b", "c"};
boolean containsA = Arrays.stream(array)
    .anyMatch(s -> s != null && s.equalsIgnoreCase("a"));
System.out.println(containsA); // 输出 true

推荐用法

选择哪种方法取决于你的具体场景和Java版本。

到此这篇关于java中判断字符串数组是否包含特定字符串的三种方法实现与对比的文章就介绍到这了,更多相关java判断字符串内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文