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

Flutter中数组空值检查报错问题求助

通讯录电话号码空值检查报错解决方案

针对你在比对通讯录与电话号码数组时遇到的空值检查报错,给出以下具体修复方案:

  • 先校验phone数组本身是否为null:直接对null数组执行遍历或长度判断会触发空指针异常,需先做非空判断:

    if (phone != null && phone.length > 0) {
        // 执行后续的号码校验与比对逻辑
    }
    
  • 逐个过滤数组中的无效号码:通讯录的无效联系人可能对应数组内的null或空白字符串,遍历过程中单独校验每个元素:

    for (String number : phone) {
        // 同时排除null、空字符串和纯空格的无效号码
        if (number != null && !number.trim().isEmpty()) {
            // 对有效号码执行比对操作
        }
    }
    
  • 若使用Java 8及以上版本,可通过流式处理快速过滤有效号码:

    import java.util.Arrays;
    import java.util.List;
    import java.util.Objects;
    import java.util.stream.Collectors;
    
    // 过滤出所有有效号码后再进行比对
    List<String> validPhoneNumbers = Arrays.stream(phone)
                                           .filter(Objects::nonNull)
                                           .filter(num -> !num.trim().isEmpty())
                                           .collect(Collectors.toList());
    
  • 额外注意:如果通讯录中的联系人对象本身可能为null,需先校验联系人对象非空,再获取电话号码属性:

    for (Contact contact : contactList) {
        if (contact != null) {
            String contactPhone = contact.getPhone();
            // 再对contactPhone执行空值检查
        }
    }
    

内容的提问来源于stack exchange,提问作者Vedha

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 15:30:52