0
点赞
收藏
分享

微信扫一扫

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


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

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 条评论