转自:https://blog.csdn.net/weixin_39973810/article/details/82112922
equals()方法是在Object类里定义的,也就是说任何对象都可以调用equals()方法,但是对象在调用方法的时候,如果对象为null那系统运行就会报空指针异常;出现异常这显然是我们不愿意看到的
如果把变量放在前面也就相当于是调用了这个变量的equals方法,那么如果此变量为空的时候就会报NullPointException了,所以肯定是把常量放前面会好些了啊;这样,我们就不用做空指针的异常处理了,例如
判断a是不是空会使用 “”.equals(a) 而不是a.equals(“”);
附加:
前台在给后台传值的时候一般会判断是否为空或者null,例public boolean (String a,Integer b),判断的时候应该如下
if(a==null||"".equals(a)||b==null){
throw new ParamException();
}
传过来的值类型
如果为Integery的话只需要判断是否为null
如果为String的话需要判断两次并且第一次判断是否为null,第二次才能判断是否为空
转自:https://blog.csdn.net/weixin_39973810/article/details/82107665
判断字符串是否为空时的几种方法:
方法一: 最多人使用的一个方法, 直观, 方便, 但效率很低:(后来跟主管讨论说不让使用第四种,原因是==和equals比根本上的不同,一个是比较内存地址一个是比较内容,如果在使用云服务和搭建集群的时候有可能会出问题,虽然性能上会差几ms,但还是让使用第一种,第四种适合简单一般的比较)
if(s == null || "".equals(s));
方法二: 比较字符串长度, 效率高, 是我知道的最好一个方法:
if(s == null || s.length() == 0);
方法三: Java SE 6.0 才开始提供的方法, 效率和方法二几乎相等, 但出于兼容性考虑, 推荐使用方法二.
if(s == null || s.isEmpty());
方法四: 这是一种比较直观,简便的方法,而且效率也非常的高,与方法二、三的效率差不多:
if (s == null || s == "");