Java各种集合判空总结

2023-11-16

目录

集合判空

CollectionUtils.isEmpty推荐

原始判断

isEmpty

其他

数组判空


集合判空

CollectionUtils.isEmpty推荐

这个使用到了spring的工具类,需要提前引入依赖

import org.springframework.util.CollectionUtils;
List<String> list = new ArrayList<>();

// 使用CollectionUtils判断list是否为空
if (!CollectionUtils.isEmpty(list)) {
    System.out.println("list is not empty");
}

原始判断

List<String> list = new ArrayList<>();

if (list!=null && list.size()>0) {
    System.out.println("list is not empty");
}

isEmpty

这个方法是集合集成到自身的方法,可以看一下List的源码

List<String> list = new ArrayList<>();

if (list.isEmpty()) {
    System.out.println("list is empty");
}

其他

List<String> list = new ArrayList<>();

if(StringUtils.isNull(list) || list.size() == 0){
  System.out.println("list is empty");
}

数组判空

Java中,可以使用以下方式判断一个数组是否为空:

判断数组的长度是否为0

Object[] arr = new Object[0];
if (arr.length == 0) {
    System.out.println("数组为空");
}

判断数组实例是否为null

Object[] arr = null;
if (arr == null) {
    System.out.println("数组为空");
}

在实际使用时,我们可以结合以上两种方式来进行更精细的判断,例如:

Object[] arr = new Object[0];
if (arr == null || arr.length == 0) {
    System.out.println("数组为空");
}

这样就可以同时判断数组实例是否为null,以及数组的长度是否为0

当然,如果你是使用Java 8及以上版本,也可以使用Arrays类的Objects.isNull()方法或Objects.nonNull()方法进行判断:

Object[] arr1 = new Object[0];
if (Objects.isNull(arr1)) {
    System.out.println("数组为null");
}

Object[] arr2 = new Object[0];
if (Objects.nonNull(arr2)) {
    System.out.println("数组不为null");
}

这样可以使代码更加简洁易读。

有用请点赞,养成良好习惯!

鼓励、交流、疑问请留言!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java各种集合判空总结 的相关文章

随机推荐

  • 回调函数&&回调机制

    所谓回调 定义是 一个方法的指针传递给事件源 当某一事件发生时用来调用这个方法 比如客户程序C调用服务程序S中的某个函数A 然后S又在某个时候反过来调用C中的某个函数B 对于C来说 这个B便叫做回调函数 例如Win32下的窗口过程函数就是一
  • 如何写CSDN博客

    如何写CSDN博客 我这里使用Typora软件先将博客写好 这个软件可以去应用商城下载 写好以后我们打开CSDN博客网页 找到创作中心的写文章 然后我们会找到导入 找到我们要选择发布的博客 导入后我们发现博客里的图片图片导入失败 我们需要手
  • Kappa 与 Lambda 架构介绍与对比

    Lambda 架构 Lambda 架构由Storm的作者Nathan Marz提出 其设计目的在于提供一个能满足大数据系统关键特性的架构 包括高容错 低延迟 可扩展等 其整合离线计算与实时计算 融合不可变性 读写分离和复杂性隔离等原则 可集
  • Ubuntu mysql配置root用户远程登录

    查看mysql默认密码登录数据库 cat etc mysql debian cnf 查看root用户数据 use mysql select User Host authentication string from user 增加root用户
  • Android中Context详解 ---- 你所不知道的Context

    大家好 今天给大家介绍下我们在应用开发中最熟悉而陌生的朋友 Context类 说它熟悉 是应为我们在开发中 时刻的在与它打交道 例如 Service BroadcastReceiver Activity等都会利用到Context的相关方法
  • AngularJS 2调用.net core WebAPI的几个坑

    前几天 按照AngularJS2的英雄指南教程走了一遍 教程网址是http origin angular live docs ts latest tutorial 在步骤完成后 又更进一步 在英雄增删改的时候 直接调用 net core的W
  • 关于 clock_gettime() 的一个问题以及解决方法

    在新的2 6x内核上 编译使用这个函数的程序的时候 会发现 如果 gcc lpthead 无法链接成功 原因在于 libpthread so中没有这个函数的实现 但是 libpthread a中有 还有一个librt so librt a中
  • 堆和栈的通俗解释【转】

    数据结构的栈和堆 首先在数据结构上要知道堆栈 尽管我们这么称呼它 但实际上堆栈是两种数据结构 堆和栈 堆和栈都是一种数据项按序排列的数据结构 栈就像装数据的桶或箱子 我们先从大家比较熟悉的栈说起吧 它是一种具有后进先出性质的数据结构 也就是
  • 医院RFID药物跟踪管理解决方案

    1 技术背景 基于 2018年2月6日 药物调配商QuVa Pharma 与Kit Check合作 为其医院药房客户 提供基于RFID药物跟踪管理解决方案 QuVa提供的系统包括Kit Check的 无源 超高频 UHF RFID 标签 该
  • WEB基础-变形动画

    字体图标 IconFont 图标字体也叫字体图标 就是字体做的图标 可以通过设置字体的方式改变图标的样式 受到近些年 扁平化设计 的影响 越来越多的图标都开始使用 IconFont 下载字体图标 首先打开IconFont 阿里巴巴矢量图标库
  • websocket详解

    之前利用websocket以及jQuery做了一个聊天通讯应用 最近在总结整个过程中的一些问题 也借此机会聊聊websocket协议 webSocket本身不存在跨域问题 所以可以利用webSocket来进行非同源之间的通信 webSock
  • pytorch打印模型梯度

    简介 有时候在调试模型训练过程时 我们需要打印模型中参数的梯度 去查看是否存在梯度消失或者梯度爆炸的问题 可以通过在backward之后查看params的grad属性来确认 参考代码如下所示 import torch 定义模型 class
  • Python3 面向对象编程

    好记性不如烂笔头 对之前阅读书籍进行梳理与总结 此文为 Python3面向对象编程 阅读笔记 文章目录 第一章 面向对象设计 第二章 Python对象 第三章 对象相似时 第四章 异常捕获 第五章 何时使用面向对象编程 第六章 Python
  • C# 导出 Excel 方法

    第一种 使用 Microsoft Office Interop Excel dll public void ExportExcel DataTable dt if dt null Microsoft Office Interop Excel
  • 关键词生成器在线-在线免费关键词生成器

    关键词生成 什么是关键词生成 关键词生成就是根据你输入的一个关键词生成成千上百的核心关键词 围绕着你输入的核心词来生成的 优先生成大量用户搜索的关键词 今天就给大家分享一款免费关键词生成工具 关键词生成的来源主要是用户都在搜索的词 相关搜索
  • CentOS-8-x86_64-1905安装

    CentOS 8 x86 64 1905安装 安装前准备 VMware Workstation 点击下载虚拟机软件 VMware Workstation是一款功能强大的桌面虚拟计算机软件 提供用户可在单一的桌面上同时运行不同的操作系统 和进
  • Crazy Thairs【树状数组+高精度+DP思想】

    题目链接 POJ 3378 题意 有N个点 问的是要求组成一个长度为5的上升子序列的组成有多少种 最搞事情的是这道题不用取模 所以 是一定会爆long long的 首先 很容易想到一点就是我们可以开一个dp maxN 5 表示的是 dp i
  • Vagrant学习笔记:搭建K8s集群

    通常情况下 我们在使用VMware VirtualBox这一类虚拟机软件创建虚拟开发环境时 往往需要经历寻找并下载操作系统的安装镜像文件 然后根据该镜像文件启动的安装向导一步一步地安装与配置操作系统 最后还需要从零开始安装开发与运维工具 整
  • 计算机考研复试机试怎么速成,西安电子大学计算机考研复试机试(2019)+ 学长讲解(6)+ 作业...

    学长讲的就是算法笔记的入门算法 作业1 链接 https www nowcoder com questionTerminal 0f64518fea254c0187ccf0ea05019672 来源 牛客网 有一个网络日志 记录了网络中计算任
  • Java各种集合判空总结

    目录 集合判空 CollectionUtils isEmpty推荐 原始判断 isEmpty 其他 数组判空 集合判空 CollectionUtils isEmpty推荐 这个使用到了spring的工具类 需要提前引入依赖 import o