Java基础系列:判断空指针的三种方式

您所在的位置:网站首页 判断java对象是否为空 Java基础系列:判断空指针的三种方式

Java基础系列:判断空指针的三种方式

2024-06-29 05:42| 来源: 网络整理| 查看: 265

1 简介

空指针:针对对象类型,对象在堆中分配“房子”。空指针(null)的对象没有分配到“房子”,所以,无法使用该对象。 使用任何的对象数据时,都要进行空指针判断。 通用的方式有三种:

null显式判断Objects.isNull(Object)隐式判断CollectionUtils工具判断空指针和空数据 2 引用类型 2.1 null直接显式判断空指针 /** * 引用类型:直接使用null判断空指针 */ @Test public void nullRawTest() { String var1 = null; if (null == var1) { logger.info(">>>>>>>>>>var1 is null"); } else { logger.info(">>>>>>>>>>var1 is:{}", var1); } } 2.2 Objects.isNull隐式判断空指针 /** * 引用类型:使用Objects工具判断空指针 */ @Test public void nullUnderObjectsTest() { String var1 = null; if (Objects.isNull(var1)) { logger.info(">>>>>>>>>>var1 is null"); } else { logger.info(">>>>>>>>>>var1 is:{}", var1); } } 3 集合类型 3.1 null直接显式判断空指针 /** * 集合类型:直接使用null判断空指针 */ @Test public void nullCollectionUnderRawTest() { List list1 = null; if (null == list1) { logger.info(">>>>>>>>>>lsit1 is null"); } else if (list1.isEmpty()) { logger.info(">>>>>>>>>>list1 is empty"); } else { logger.info(">>>>>>>>>>list1 is:{}", list1); } } 3.2 Objects.isNull隐式判断空指针 /** * 集合类型:使用Objects判断空指针 */ @Test public void nullCollectionUnderObjectsTest() { List list1 = null; if (Objects.isNull(list1)) { logger.info(">>>>>>>>>>lsit1 is null"); } else if (list1.isEmpty()) { logger.info(">>>>>>>>>>list1 is empty"); } else { logger.info(">>>>>>>>>>list1 is:{}", list1); } } 3.3 CollectionUtils.isEmpty工具判断空指针和空

CollectionUtils判断

3.3.1 引入依赖

Apache通用集合工具:4.4版本。

org.apache.commons commons-collections4 4.4 3.3.2 空指针 /** * 集合类型:使用CollectionUtils判断空指针和空数据 */ @Test public void nullUnderCollectionUtilsTest() { List list1 = null; if (CollectionUtils.isEmpty(list1)) { logger.info(">>>>>>>>>>var1 is null or empty"); } else { logger.info(">>>>>>>>>>var1 is:{}", list1); } } 3.3.3 空数据 /** * 集合类型:使用CollectionUtils判断空指针和空数据 */ @Test public void emptyUnderCollectionUtilsTest() { List list1 = Collections.emptyList(); if (CollectionUtils.isEmpty(list1)) { logger.info(">>>>>>>>>>var1 is null or empty"); } else { logger.info(">>>>>>>>>>var1 is:{}", list1); } } 3 小结 序号方法描述1null判断通用方法。所有对象均可以使用该方法判断空指针。2Objects.isNull(Object)判断通用方法。所有对象均可以使用该方法判断空指针。3CollectionUtils.isEmpty(Collection)判断Collection集合类型的数据判断空指针。 4 完整样例 package com.monkey.java_study.functiontest; import org.apache.commons.collections4.CollectionUtils; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.junit.Test; import java.util.*; /** * 空指针判断测试. * * @author xindaqi * @date 2021-12-16 9:55 */ public class NullPointerTest { private static final Logger logger = LogManager.getLogger(NullPointerTest.class); private static final String TEST_VALUE = "test"; /** * 引用类型:直接使用null判断空指针 */ @Test public void nullRawTest() { String var1 = null; if (null == var1) { logger.info(">>>>>>>>>>var1 is null"); } else { logger.info(">>>>>>>>>>var1 is:{}", var1); } } /** * 引用类型:使用Objects工具判断空指针 */ @Test public void nullUnderObjectsTest() { String var1 = null; if (Objects.isNull(var1)) { logger.info(">>>>>>>>>>var1 is null"); } else { logger.info(">>>>>>>>>>var1 is:{}", var1); } } /** * 集合类型:直接使用null判断空指针 */ @Test public void nullCollectionUnderRawTest() { List list1 = null; if (null == list1) { logger.info(">>>>>>>>>>list1 is null"); } else if (list1.isEmpty()) { logger.info(">>>>>>>>>>list1 is empty"); } else { logger.info(">>>>>>>>>>list1 is:{}", list1); } } /** * 集合类型:使用Objects判断空指针 */ @Test public void nullCollectionUnderObjectsTest() { List list1 = null; if (Objects.isNull(list1)) { logger.info(">>>>>>>>>>list1 is null"); } else if (list1.isEmpty()) { logger.info(">>>>>>>>>>list1 is empty"); } else { logger.info(">>>>>>>>>>list1 is:{}", list1); } } /** * 集合类型:使用CollectionUtils判断空指针和空数据 */ @Test public void nullUnderCollectionUtilsTest() { List list1 = null; if (CollectionUtils.isEmpty(list1)) { logger.info(">>>>>>>>>>var1 is null or empty"); } else { logger.info(">>>>>>>>>>var1 is:{}", list1); } } /** * 集合类型:使用CollectionUtils判断空指针和空数据 */ @Test public void emptyUnderCollectionUtilsTest() { List list1 = Collections.emptyList(); if (CollectionUtils.isEmpty(list1)) { logger.info(">>>>>>>>>>var1 is null or empty"); } else { logger.info(">>>>>>>>>>var1 is:{}", list1); } } }


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3