技术文章
当前位置:首页 > Java技术文章 > Java中判断对象是否为空的方法

Java中判断对象是否为空的实例代码

  • 发布时间:
  • 作者:码农之家原创
  • 点击:272

这篇文章主要知识点是关于Java、判断、对象、空、代码、Java对象类型的判断知识点整理 的内容,如果大家想对相关知识点有系统深入的学习,可以参阅以下java相关的电子书

Java机器学习
Java机器学习超清中文版
  • 类型:Java大小:80.7 MB格式:PDF出版:人民邮电出版社作者:博思蒂安·卡鲁扎
立即下载

更多Java相关的学习资源可以参阅 Java电子书程序设计电子书 等栏目。

Java中判断对象是否为空的方法

首先来看一下工具StringUtils的判断方法:

一种是org.apache.commons.lang3包下的;

另一种是org.springframework.util包下的。这两种StringUtils工具类判断对象是否为空是有差距的:

StringUtils.isEmpty(CharSequence cs); //org.apache.commons.lang3包下的StringUtils类,判断是否为空的方法参数是字符序列类,也就是String类型

StringUtils.isEmpty(Object str); //而org.springframework.util包下的参数是Object类,也就是不仅仅能判断String类型,还能判断其他类型,比如Long等类型。

从上面的例子可以看出第二种的StringUtils类更实用。

下面来看一下org.apache.commons.lang3的StringUtils.isEmpty(CharSequence cs)源码:

public static boolean isEmpty(final CharSequence cs) {
    return cs == null || cs.length() == 0;
}

接下来是org.springframework.util的StringUtils.isEmpty(Object str)源码:

public static boolean isEmpty(Object str) {
    return (str == null || "".equals(str));
}

基本上判断对象是否为空,StringUtils.isEmpty(Object str)这个方法都能搞定。

接下来就是判断数组是否为空

list.isEmpty(); //返回boolean类型。

判断集合是否为空

例1: 判断集合是否为空:

CollectionUtils.isEmpty(null): true
CollectionUtils.isEmpty(new ArrayList()): true
CollectionUtils.isEmpty({a,b}): false

例2:判断集合是否不为空:

CollectionUtils.isNotEmpty(null): false
CollectionUtils.isNotEmpty(new ArrayList()): false
CollectionUtils.isNotEmpty({a,b}): true

2个集合间的操作:
集合a: {1,2,3,3,4,5}
集合b: {3,4,4,5,6,7}

CollectionUtils.union(a, b)(并集): {1,2,3,3,4,4,5,6,7}
CollectionUtils.intersection(a, b)(交集): {3,4,5}
CollectionUtils.disjunction(a, b)(交集的补集): {1,2,3,4,6,7}
CollectionUtils.disjunction(b, a)(交集的补集): {1,2,3,4,6,7}
CollectionUtils.subtract(a, b)(A与B的差): {1,2,3}
CollectionUtils.subtract(b, a)(B与A的差): {4,6,7}

以上所述是小编给大家介绍的Java中判断对象是否为空的方法详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。

Java对象类型的判断知识点整理

instanceof

判断某个对象是否是某个类的实例或者某个类的子类的实例。它的判断方式大概是这样的:

public<T> boolean function(Object obj, Class<T> calzz) {
    if (obj == null) {
      return false;
    }
    try {
      T t = (T) obj;
      return true;
    } catch (ClassCastException e) {
      return false;
    }
  }

Class.equals()

这种方式比较的类型,一定是本身才返回true,子类或者父类都返回false;

 // B是A的子类,C是B的子类
    B b = new B();
    // false
    System.out.println(b.getClass().equals(A.class));
    // true
    System.out.println(b.getClass().equals(B.class));
    // false
    System.out.println(b.getClass().equals(C.class));

PS:b.getClass().equals(A.class)等同于b.getClass() == A.class

Class.isInstance()

这个方法跟instanceof完全等价。

 // B是A的子类,C是B的子类
    B b = new B();
    // true
    System.out.println(A.class.isInstance(b));
    // true
    System.out.println(B.class.isInstance(b));
    // false
    System.out.println(C.class.isInstance(b));

Class.isAssignableFrom

判断某个类是否是另一个类和其子类。

 // B是A的子类,C是B的子类
    // false
    System.out.println(B.class.isAssignableFrom(A.class));
    // true 
    System.out.println(B.class.isAssignableFrom(B.class));
    // true
    System.out.println(B.class.isAssignableFrom(C.class));

以上所述是小编给大家介绍的Java对象类型的判断详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对码农之家网站的支持!

以上就是本次给大家分享的关于Java的全部知识点内容总结,大家还可以在下方相关文章里找到WebUploader实现分片断点上传、 swing组件JScrollPane滚动条实、 Java IO流之字符缓冲流的实、 等java文章进一步学习,感谢大家的阅读和支持。

上一篇:关于java线程池重要设置详解

下一篇:java自旋锁知识点总结

展开 +

收起 -

相关电子书
学习笔记
网友NO.388551

java判断字符串相等的方法

java中的字符串比较竟然不能直接用”==”!!!!而要用equals(),返回true为两字符串相等,返回false为两字符串不相等, 举个栗子: if (s1.equals(s2)) { System.out.println("s1与s2相等!!");} else { System.out.println("s1与s2没啥关系!!");} 1、字符串是对象类型,所以不能用简单的“==”判断 2、equals()比较的是对象的内容(区分字母的大小写格式)是否相等 3、“==”比较两个对象时,比较的是两个对象的内存地址,所以不相等 以上这篇java判断字符串相等的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持码农之家。 ……

网友NO.503712

java判断数组中的数值是否连续相邻的方法总结

* 判断一个数组中的数值是否连续相邻 * 满足以下条件: * 1.0是例外可以反复出现 0可以通配任何字符 * 2.相同的数值不会重复出现 * 3.该数组可以是乱序的 * 当数组不含有0时满足最大值-最小值=n(数组长度)-1 * 当数组数组含有0时.满足最大值-最小值n(数组长度)-1 * 所以,当最大值最大值-最小值n(数组长度)-1时,一定不是连续相邻数组 package datastruct.usearray;public class JudgeAdjacent { private static boolean judege(int a[]) { int min=Integer.MAX_VALUE; int max=Integer.MIN_VALUE; for (int i = 0; i a.length; i++) { if (a[i]!=0) { if (mina[i]) {min=a[i];} if (maxa target=_blanka.length-1) {return false;}else {return true;} } public static void main(String[] args) { int a[]={8,5,0,10,6,7,0,0};if (judege(a)) {System.out.println(该数组是相邻的!);}else {System.out.println(该数组不是相邻的!);}}}/a 以上这篇java 判断一个数组中的数值是否连续相邻的方法就……

网友NO.486707

javascript中关于类型判断的一些疑惑小结

前言 类型判断是我们在日常工作中经常会遇到的一个功能,本文将给大家详细介绍关于javascript类型判断的相关内容,下面话不多说了,来一起看看详细的介绍吧 Javascript中数据类型分为两种: 简单数据类型:Undefined, NULL, Boolean, Number, String 复杂数据类型:Object 接下来我们就来看看怎么做数据类型判别吧? 首先来看看 typeof Type Result Undefined "undefined" Null "object" (see below) Boolean "boolean" Number "number" String "string" Symbol (new in ECMAScript 2015) "symbol" Host object (provided by the JS environment) Implementation-dependent Function object (implements [[Call]] in ECMA-262 terms) "function" Any other object "object" 来点code demo吧 let a = undefined;typeof a"undefined"let b = false;typeof b"boolean"let c = 12;typeof c"number"let d = '12';typeof d"string"let f = function () {};typeof f"function" 接下来我们就来看看那些奇怪的现象吧 let str = new String(……

网友NO.687133

Java判断字符串是否是整数或者浮点数的方法

如下所示: //判断整数(int)private boolean isInteger(String str) {if (null == str || "".equals(str)) {return false;}Pattern pattern = Pattern.compile("^[-\\+]?[\\d]*$");return pattern.matcher(str).matches();} //判断浮点数(double和float)private boolean isDouble(String str) {if (null == str || "".equals(str)) {return false;}Pattern pattern = Pattern.compile("^[-\\+]?[.\\d]*$");return pattern.matcher(str).matches();} 以上这篇Java判断字符串是否是整数或者浮点数的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持码农之家。 ……

<
1
>

Copyright 2018-2020 xz577.com 码农之家

电子书资源由网友、会员提供上传,本站记录提供者的基本信息及资源来路

鸣谢: “ 码小辫 ” 公众号提供回调API服务、“ 脚本CDN ”提供网站加速(本站寻求更多赞助支持)

版权投诉 / 书籍推广 / 赞助:520161757@qq.com

上传资源(网友、会员均可提供)

查看最新会员资料及资源信息