有一个object类对象可能是String类型可能是Long类型可能是LocalDateTime如何判断它不为空,写一个java的通用方法
时间: 2023-06-01 20:04:11 浏览: 136
可以使用Java中的instanceof关键字来判断对象的类型,进而判断对象是否为空。
例如,以下是一个通用方法,可以判断任意类型的对象是否为空:
```
public static boolean isNotNull(Object obj) {
return obj != null && !(obj instanceof String && ((String) obj).trim().isEmpty())
&& !(obj instanceof Long && (Long) obj == 0)
&& !(obj instanceof LocalDateTime && obj.equals(LocalDateTime.MIN));
}
```
该方法首先判断对象是否为null,如果不为null,则根据对象的类型进一步判断是否为空。如果对象是String类型,则去除首尾空格后判断是否为空;如果对象是Long类型,则判断是否为0;如果对象是LocalDateTime类型,则判断是否等于LocalDateTime.MIN。
使用示例:
```
String str = "hello";
Long num = 0L;
LocalDateTime time = LocalDateTime.now();
Object obj1 = null;
Object obj2 = str;
Object obj3 = num;
Object obj4 = time;
System.out.println(isNotNull(obj1)); // false
System.out.println(isNotNull(obj2)); // true
System.out.println(isNotNull(obj3)); // false
System.out.println(isNotNull(obj4)); // true
```
阅读全文