You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java中如何通过for循环仅打印字符串数组的非空元素?

仅打印Java字符串数组中的非空元素

嘿,既然你已经搞定了数值数组的相关操作,那字符串数组的这个需求其实逻辑相通,只是判断条件稍有不同~下面给你几种常用的for循环实现方式,覆盖不同场景:

1. 普通索引式for循环

这种方式适合需要用到数组索引的场景,判断逻辑要注意先判null再判空字符串,避免触发空指针异常(NPE):

// 示例数组,包含有效字符串、空字符串和null
String[] strArray = {"Hi", "", null, "Stack Overflow", "", "Java", null, "", "", "!"};

for (int i = 0; i < strArray.length; i++) {
    String currentStr = strArray[i];
    // 先判断不为null,再判断不是空字符串
    if (currentStr != null && !currentStr.isEmpty()) {
        System.out.println(currentStr);
    }
}

2. 增强for循环(for-each)

如果不需要用到索引,用这种方式代码更简洁,可读性更高:

for (String currentStr : strArray) {
    // 如果你需要忽略全空白的字符串(比如"   "),可以用Java 11+的isBlank()
    if (currentStr != null && !currentStr.isBlank()) {
        System.out.println(currentStr);
    }
}

小提示:

  • isEmpty():仅判断字符串长度是否为0(即"");
  • isBlank():会同时忽略全空白的字符串(比如" "),适合更严格的非空判断;
  • 一定要先判断currentStr != null,不然如果元素是null,调用isEmpty()或isBlank()会直接抛出空指针异常!

内容的提问来源于stack exchange,提问作者G.S.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.28 21:08:14