Java1.8解决空指针比较问题

阅读 83

2022-09-08


在编程中遇到如下情况你该如何处理?

Integer s=null;
Integer t=1;
//如何比较他们是否相等?

//那么现在呢?
Integer s=1;
Integer t=null;



//如果你使用equals()
s.equals(t);
//会爆出如下
Exception in thread "main" java.lang.NullPointerException

//那么在java1.8之前你该如何比较呢?

public boolean isEquals(Integer s, Integer t) {
if (s == null || t == null) {
return s == t;
}
return s.equals(t);
}

在java1.8有了Optional类,他的Optional.ofNullable();会将null空指针封装成Optional.empty对象,此时就可以进行比较了

;
Integer j=1;
System.out.println(Optional.ofNullable(i).equals(Optional.ofNullable(j)));
//false
Integer i=130;
Integer j=130;
System.out.println(Optional.ofNullable(i).equals(Optional.ofNullable(j)));


精彩评论(0)

0 0 举报