在Java中,可以使用LocalDateTime
類來比較兩個可能為空的時間。下面是一個比較兩個LocalDateTime
對象的示例代碼:
import java.time.LocalDateTime;
public class TimeComparison {
public static void main(String[] args) {
LocalDateTime time1 = null; // 第一個時間
LocalDateTime time2 = LocalDateTime.now(); // 第二個時間
// 比較兩個時間
if (time1 != null && time2 != null) {
// 如果兩個時間都不為空
if (time1.isBefore(time2)) {
System.out.println("time1 is before time2");
} else if (time1.isAfter(time2)) {
System.out.println("time1 is after time2");
} else {
System.out.println("time1 is equal to time2");
}
} else if (time1 == null && time2 != null) {
// 如果第一個時間為空,第二個時間不為空
System.out.println("time1 is null");
} else if (time1 != null) {
// 如果第一個時間不為空,第二個時間為空
System.out.println("time2 is null");
} else {
// 如果兩個時間都為空
System.out.println("Both times are null");
}
}
}
在上面的代碼中,我們先判斷兩個時間是否為空,如果不為空,則使用isBefore()
、isAfter()
和isEqual()
方法來比較兩個時間的先后關系。如果只有一個時間為空,則根據情況輸出對應的提示信息。如果兩個時間都為空,也輸出相應的提示信息。
注意:在比較之前,應該先判斷時間是否為空,以避免NullPointerException
異常。