前言:在平时开发过程中,字符串的非空判断时有发生,我们最常用到的a != null && !"".equals(a) 虽然没啥问题,但是真心不好看,这里有一些其他的非空校验方法希望可以帮到你,今天小编就来聊一聊关于obj一般多大?接下来我们就一起去研究一下吧!

obj一般多大(干掉你写的obj)

obj一般多大

前言:在平时开发过程中,字符串的非空判断时有发生,我们最常用到的a != null && !"".equals(a) 虽然没啥问题,但是真心不好看,这里有一些其他的非空校验方法希望可以帮到你。

一,StringUtils类

//该类提供了一系列关于字符串类型的操作方法,如非空校验,包含判断等 //引入依赖使用: <dependency> <groupId>commons-lang</groupId> <artifactId>commons-lang</artifactId> <version>2.6</version> </dependency> //原来的写法: if(a == null || "".equals(a)){ System.out.println("a为空的操作"); } //可以改写成: if(StringUtils.isBlank(a)){ System.out.println("a为空的操作"); } //常用的方法: StringUtils.isNotBlank:非空校验,就算全部是空格也会返回false,即也是空 StringUtils.isNotEmpty:非空校验,如果全部是空格会返回true,即认为有值 StringUtils.isNotBlank(null) = false StringUtils.isNotBlank("") = false StringUtils.isNotBlank(" ") = false //纯空格仍旧认为是空数据 StringUtils.isNotBlank("bob") = true StringUtils.isNotBlank(" bob ") = true StringUtils.isNotEmpty(null) = false StringUtils.isNotEmpty("") = false StringUtils.isNotEmpty(" ") = true //纯空格会认为是非空 StringUtils.isNotEmpty("bob") = true StringUtils.isNotEmpty(" bob ") = true //当然还有取反的方法 StringUtils.isBlank StringUtils.isEmpty //这个类里面还有很多其他的方法,有兴趣可以看下。

二,MapUtils类

//该类可以对Map的value直接指定数据类型返回,也可以同时设置默认值,非常好用。 //引入依赖使用: <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-collections4</artifactId> <version>4.1</version> </dependency> Map<String,Object> map = new HashMap<>(); map.put("name","张三"); map.put("age",18); map.put("amount",0.01); //原有的写法太过于复杂很容易看错写错: String name = (map.get("name")==null)?"":(String)map.get("name"); Integer age = (map.get("age")==null)?0:(Integer) map.get("name"); Double amount = (map.get("amount")==null)?0d:(Double) map.get("amount"); //使用工具类: //获取key=name字符串类型数据,为空返回名字。 MapUtils.getString(map,"name","名字"); //获取key=age整形数值,为空返回0 MapUtils.getInteger(map,"age",0); //获取k=amount双精度数值,为空返回0d MapUtils.getDouble(map,"amount",0d);

总结,上面这两个工具类真心好用,虽然有损耗性能的嫌疑,但我想说性能固然重要,但能优雅地写代码取乐自己不也很重要嘛。我是阿雷,一个越来越胖的程序员。

,