7 回答

TA贡献1893条经验 获得超10个赞
个人做法:
除非需要null返回,否则别返回null值;别传递null值【《Clean Code》也这么写】
如果不返回null,处理方式一:直接抛NPE;处理方式二:用Optional(可以避免我们忘记!=null的校验,同时比到处!=看着优雅)

TA贡献1796条经验 获得超7个赞
首先,你代码都写错了
if (tem != null) {
result = null;
} else {
String substring = tem.substring(0, 1);
result = substring;
}
应该是if (tem == null)
其次,即使这样改过来还是不够严谨,tem=""时else里面不就有问题了。
再次,你这才判断两次为null就嫌多啊。
最后,判断的次数是根据你的业务逻辑来的,即使在某个地方减少了判断的次数,在别的地方还是要还的。

TA贡献1817条经验 获得超14个赞
可以通过业务逻辑严密设计来减少 非空的判断,但是依然不能保证维护代码产生的畸变,所以为了代码的健壮性,还是使用之前首先判断, 如果散落代码 str == null || "".equals(str)
很不好看,可以使用自己封装工具或使用开源工具,比如apache的StringUtils 等.
添加回答
举报