java判断两值一个为null报错,同时为null不报错的函数
时间: 2024-09-09 14:07:22 浏览: 55
Android为textView设置setText的时候报错的讲解方案
在Java中,如果你使用了比较运算符(如 == 或 !=)来比较一个非空对象和一个null值,这将导致一个NullPointerException,因为你不能直接比较对象引用和null。为了安全地检查两个变量是否都为null或者都不为null,你可以使用一些方法来避免异常。
以下是一个示例函数,它会检查两个参数是否都是null,或者都不是null:
```java
public static boolean checkBothNull(Object obj1, Object obj2) {
if (obj1 == null && obj2 == null) {
return true;
} else if (obj1 != null && obj2 != null) {
return true;
} else {
return false;
}
}
```
这个函数首先检查两个对象是否都是null,如果是,返回true。如果不是,它会检查两个对象是否都不为null,如果是,也返回true。否则,如果其中一个对象为null而另一个不为null,则返回false。
这里没有直接比较两个对象是否相等,因为这种情况下比较对象的值是不适用的(通常需要覆盖equals方法)。如果你的目的仅仅是判断两者是否为null,那么上述代码已经足够。如果你需要判断两个非null对象的值是否相等,那么你应该使用equals方法进行比较:
```java
public static boolean checkBothNonNullAndEqual(Object obj1, Object obj2) {
if (obj1 != null && obj2 != null) {
return obj1.equals(obj2);
}
return false;
}
```
这个函数确保了两个对象都不为null,并使用equals方法来检查它们的值是否相等。
阅读全文