世界上并没有完美的程序,但是我们并不因此而沮丧,因为写程序就是一个不断追求完美的过程。

自己封装了一个utis工具包,目的是将常用的工具集成到一起,目前初创,首先介绍NullUtils工具类的使用:

  1. Object 非空判断
  2. String 非空判断
  3. 数组 非空判断
  4. 集合 非空判断
  5. Map 非空判断
  6. Long 非空大于或小于等于0
  7. Integer 非空大于或小于等于0

https://github.com/houbbbbb/utils

public class NullsTest {@Testpublic void arrayTest() {String[] ss = new String[]{};boolean b = NullUtils.isEmpty(ss);assert b;b = NullUtils.isNotEmpty(ss);assert !b;ss = new String[]{"a", "b", "c"};b = NullUtils.isEmpty(ss);assert !b;b = NullUtils.isNotEmpty(ss);assert b;}@Testpublic void nullTest() {Object o = null;boolean b = NullUtils.isNull(o);assert b;b = NullUtils.isNotNull(o);assert !b;o = new Object();b = NullUtils.isNull(o);assert !b;b = NullUtils.isNotNull(o);assert b;}@Testpublic void integerTest() {Integer n = null;boolean b = NullUtils.gtZero(n);assert !b;b = NullUtils.notGtZero(n);assert b;n = 0;b = NullUtils.gtZero(n);assert !b;b = NullUtils.notGtZero(n);assert b;n = 1;b = NullUtils.gtZero(n);assert b;b = NullUtils.notGtZero(n);assert !b;n = -1;b = NullUtils.gtZero(n);assert !b;b = NullUtils.notGtZero(n);assert b;}@Testpublic void longTest() {Long l = null;boolean b = NullUtils.gtZero(l);assert !b;b = NullUtils.notGtZero(l);assert b;l = 0L;b = NullUtils.gtZero(l);assert !b;b = NullUtils.notGtZero(l);assert b;l = 1L;b = NullUtils.gtZero(l);assert b;b = NullUtils.notGtZero(l);assert !b;l = -1L;b = NullUtils.gtZero(l);assert !b;b = NullUtils.notGtZero(l);assert b;}@Testpublic void stringTest() {String s = null;boolean b = NullUtils.isEmpty(s);assert b;b = NullUtils.isNotEmpty(s);assert !b;s = "";b = NullUtils.isEmpty(s);assert b;b = NullUtils.isNotEmpty(s);assert !b;s = "a";b = NullUtils.isEmpty(s);assert !b;b = NullUtils.isNotEmpty(s);assert b;}@Testpublic void listTest() {List<String> ls = null;boolean b = NullUtils.isEmpty(ls);assert b;b = NullUtils.isNotEmpty(ls);assert !b;ls = new ArrayList<String>(10);b = NullUtils.isEmpty(ls);assert b;b = NullUtils.isNotEmpty(ls);assert !b;ls.add("a");b = NullUtils.isEmpty(ls);assert !b;b = NullUtils.isNotEmpty(ls);assert b;}@Testpublic void mapTest() {Map<String, String> map = null;boolean b = NullUtils.isEmpty(map);assert b;b = NullUtils.isNotEmpty(map);assert !b;map = new HashMap<String, String>(16);b = NullUtils.isEmpty(map);assert b;b = NullUtils.isNotEmpty(map);assert !b;map.put("a", "b");b = NullUtils.isEmpty(map);assert !b;b = NullUtils.isNotEmpty(map);assert b;}@Testpublic void setTest() {Set<String> set = null;boolean b = NullUtils.isEmpty(set);assert b;b = NullUtils.isNotEmpty(set);assert !b;set = new HashSet<String>(16);b = NullUtils.isEmpty(set);assert b;b = NullUtils.isNotEmpty(set);assert !b;set.add("a");b = NullUtils.isEmpty(set);assert !b;b = NullUtils.isNotEmpty(set);assert b;}
}

后期会集成现有的包括hutools等各种工具的功能,希望能通过一个jar包提供所有通用工具的功能。
希望对大家有所帮助。

hbw-utils - NullUtils相关推荐

  1. openpyxl.utils.exceptions.InvalidFileException: openpyxl does not support the old

    具体错误如下: openpyxl.utils.exceptions.InvalidFileException: openpyxl does not support the old .xls file ...

  2. Error: module pages/utils/util is not defined

    错误如下: 处理方法是两个../上再加一个../ 自己之前写的会报错,const util = require('../../utils/util') 修改之后:const util = requir ...

  3. $g.$utils.实用工具类

    $g.$utils = {/**舒工Ajax-lite 1.0 -- 最精简的ajax自定义访问方法*/ajax: function (o) {var p = o.post, g = o.get, d ...

  4. 【Qt】通过QtCreator源码学习Qt(十一):Utils::Icon,根据不同主题、不同状态变换图标

    1.简介 在QtCreator中Utils::Icon封装的图标可以根据主题变换,还可以设置不同状态下的图标的颜色.不同状态下的颜色变换,由QIcon::addPixmap函数实现: void QIc ...

  5. 【原创】Kakfa utils源代码分析(三)

    Kafka utils包最后一篇~~~ 十五.ShutdownableThread.scala 可关闭的线程抽象类! 继承自Thread同时还接收一个boolean变量isInterruptible表 ...

  6. 使用Tape和Vue Test Utils编写快速的Vue单元测试

    by Edd Yerburgh 埃德·耶堡(Edd Yerburgh) 使用Tape和Vue Test Utils编写快速的Vue单元测试 (Write blazing fast Vue unit t ...

  7. Keras中神经网络可视化模块keras.utils.vis_util 的安装

    Bug: ModuleNotFoundError: No module named 'keras.utils.vis_util' 解决方案: pip install pydot_ngpip insta ...

  8. tensorflow tf.keras.utils.plot_model 画深度学习神经网络拓扑图

    tensorflow tf.keras.utils.plot_model 画网络拓扑图 # pip install graphviz # pip install pydot # 下载 graphviz ...

  9. 为什么在notebook里面还是显示torch_torch.utils.cpp_extension对c++/cuda进行拓展

    为什么pytorch要对c++/cuda进行拓展 在初始阶段,使用pytorch提供的接口组合搭配自己的神经网络就可以了,但是,随着深入进行,比如说要实现一个自己新的算法,或者是自己定义的新的层,光使 ...

最新文章

  1. 【jsp】写jsp文件的准备
  2. 如何用赌场风云解释隐马尔可夫模型(HMM)?
  3. Verilog随机数生成$random
  4. msql安装(zip)
  5. android 实现代码混淆
  6. [BZOJ1006]神奇的国度
  7. 豆丁 道客巴巴 千图网 千库网 包图网 我图网 摄图网 巧办网 万方设计 中国知网 VIP会员一个月开通方法,十网通用
  8. MAC电脑触摸板手势(提高办公效率)
  9. (转帖)微服务拆分的原则和方法(2)
  10. php 手机版 答题系统,基于ThinkPHP框架开发的驾考在线答题系统_WAP手机自适应界面+手机在线驾考宝典答题系统...
  11. CF896C Willem, Chtholly and Seniorious(珂朵莉树)
  12. vue中使用微信jssdk语音聊天功能
  13. 域名注册_申请证书\SSL证书\tls证书
  14. 应用与计算机病毒,计算机病毒论文
  15. 你的微信号安全吗?(附最新技术分享)
  16. lol国服服务器最新人口排名,2020lol大区人数排名,lol服务器人数
  17. Codeforces Sereja and Mirroring
  18. net.sf.ezmorph.bean.MorphDynaBean cannot be cast to
  19. Clarify concepts: WANET, MANET, WMN, WSN, DTN
  20. 程序员求职之道(《程序员面试笔试宝典》)之走进微软

热门文章

  1. 内网服务通过frp内网穿透映射到公网
  2. 数据挖掘算法之FP-Growth算法介绍及Spark代码实现
  3. MySQL优化器选错索引情况
  4. Intellij IDEA 插件开发之自建插件仓库
  5. 乐视更新APP,图标显示欠122亿,反向营销?贾跃亭将回国造梦?
  6. python打开浏览器全屏_Python+Selenium自动化——浏览器启动自动全屏配置
  7. LeetCode 415.字符串相加
  8. Linux系统aboutyou,Linux字符设备驱动高级
  9. python3小项目——爬取智联招聘信息(二)
  10. 视频维权新方式 视频内容将靠“DNA”鉴真假