字符串判断相等
String str1 = null;
String str2 = "java金融";
// str1.equals(str2); 错误的写法
str2.equals(str1); // 常量写前面
Objects.equals(str1, str2);// 借助jdkUtil工具类
StringUtils.equals(str1,str2);
// 自定义工具类
字符串判断相等我们记住一定要常量写前面。
借助jdk提供的util帮助类(Objects)。
自定义工具类,进行判空处理。
包装类判断相等
Integer n1 = 100;
Integer n2 = 100;
System.out.println(n1 == n2);//true
System.out.println(n1.equals(n2));//true
Integer n3 = 200;
Integer n4 = 200;
System.out.println(n3 == n4);//false
System.out.println(n3.equals(n4));//true
为什么n3== n4 是false呢?由于包装类的缓存机制。包装类的比较用equals去判断。最推荐的还是用工具类去判断。例如上面的列子如果n3=null的话n3.equals(n4)这时候就会抛出npe了。如果用工具类的话就不会存在这种情况。总之一句话判断相等如果不愿意去判空(偷懒、代码也不好看)就借助工具类。合理使用工具类可以使你的代码减少不必要的npe。