java 判断三个可能为空的Long值是否一样,当其中有两个为空时,另一个直接返回
时间: 2025-01-01 19:41:22 浏览: 8
在Java中,判断三个可能为空的`Long`值是否相等,需要特别处理空值的情况。由于Java的`long`类型默认可以表示null,所以你可以使用条件运算符`? :`或者三元运算符来进行这样的检查。这里提供两种方式:
**方式一:使用条件运算符**
```java
Long value1 = ...; // 可能为空
Long value2 = ...; // 可能为空
Long value3 = ...; // 可能为空
// 如果两个值非空,则比较第三个
Long result = (value1 != null && value2 != null) ? value1.equals(value2) ? value1 : value2 : value3;
```
如果`value1`和`value2`都不为空并且它们相等,那么结果就是这个相同的值;如果不相等,就返回另一个非空值;如果三个都为空,那么`result`还是`null`。
**方式二:使用三元运算符**
```java
Long result = (value1 != null && value2 != null) ? value1.equals(value2) ? value1 : value2 : (value1 == null || value2 == null) ? value3 : value1.equals(value3) ? value1 : value3;
```
这个版本在更复杂的情况下也进行了判断,如果前两个值有一个为空,就直接返回第三个值。如果前两个都非空且相等,返回其中一个;如果前两个都非空但不相等,再判断第三个值是否等于其中一个。
阅读全文