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

 更新时间:2025年12月17日 08:23:57   作者:悟能不能悟  
这篇文章主要为大家详细介绍了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 时抛出异常

性能考虑

  • 小数组:哪种方法差异不大
  • 大数组:方法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版本。

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

相关文章

  • java使用poi读取ppt文件和poi读取excel、word示例

    java使用poi读取ppt文件和poi读取excel、word示例

    这篇文章主要介绍了java使用poi读取ppt文件和poi读取excel、word示例,需要的朋友可以参考下
    2014-03-03
  • 使用注解@Validated和BindingResult对入参进行非空校验方式

    使用注解@Validated和BindingResult对入参进行非空校验方式

    这篇文章主要介绍了使用注解@Validated和BindingResult对入参进行非空校验方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-10-10
  • SpringBoot整合JPA详细代码实例

    SpringBoot整合JPA详细代码实例

    这篇文章主要给大家介绍了关于SpringBoot整合JPA的相关资料,JPA(Java Persistence API)是Sun官方提出的Java持久化规范,它为Java开发人员提供了一种对象/关联映射工具来管理Java应用中的关系数据,需要的朋友可以参考下
    2024-05-05
  • springboot整合ehcache 实现支付超时限制的方法

    springboot整合ehcache 实现支付超时限制的方法

    在线支付系统需要极高的稳定性,在有限的系统资源下,稳定性优先级要高于系统并发以及用户体验,因此需要合理的控制用户的支付请求。下面通过本文给大家介绍springboot整合ehcache 实现支付超时限制的方法,一起看看吧
    2018-01-01
  • SpringBoot利用EasyExcel实现导出数据

    SpringBoot利用EasyExcel实现导出数据

    EasyExcel是一个基于Java的、快速、简洁、解决大文件内存溢出的Excel处理工具,它能让你在不用考虑性能、内存的等因素的情况下,快速完成Excel的读、写等功能看,本文就将介绍如何利用EasyExcel实现导出数据,需要的朋友可以参考下
    2023-07-07
  • Java Validation Api实现原理解析

    Java Validation Api实现原理解析

    这篇文章主要介绍了Java Validation Api实现原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-09-09
  • 详解Java springboot 整合Shiro框架

    详解Java springboot 整合Shiro框架

    这篇文章主要为大家介绍了Java springboot 整合Shiro框架,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-01-01
  • Java Integer对象的比较方式

    Java Integer对象的比较方式

    这篇文章主要介绍了Java Integer对象的比较方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-09-09
  • jdk环境变量配置切换jdk版本及安装jdk后环境变量不生效问题解决办法

    jdk环境变量配置切换jdk版本及安装jdk后环境变量不生效问题解决办法

    这篇文章主要介绍了jdk环境变量配置切换jdk版本及安装jdk后环境变量不生效问题解决办法,包括配置JAVA_HOME、Path和CLASSPATH,以及如何验证配置是否成功,文章还讲解了如何切换JDK版本,并解决了安装新JDK后环境变量配置不生效的问题,需要的朋友可以参考下
    2024-12-12
  • Java中的形式参数和实际参数案例详解

    Java中的形式参数和实际参数案例详解

    这篇文章主要介绍了Java中的形式参数和实际参数,形参和实参间的关系,两者是在调用的时候进行结合的,通常实参会将取值传递给形参,形参去之后进行函数过程运算,然后可能将某些值经过参数或函数符号返回给调用者,需要的朋友可以参考下
    2023-10-10

最新评论