怎样判定 Object 为List<Double>
时间: 2024-09-07 15:04:03 浏览: 31
在Java中,如果你想判断一个Object是否可以被当作List<Double>类型来处理,你可以尝试使用instanceof关键字或者Class类的isInstance()方法。以下是两种方法的示例:
1. 使用`instanceof`关键字:
```java
if (object instanceof List<?> && ((List<?>) object).get(0) instanceof Double) {
// object是一个List类型的实例,并且它的元素都是Double类型
}
```
这里我们首先检查object是否是List类型的实例,然后检查列表的第一个元素是否为Double类型。
2. 使用`Class#isInstance()`方法:
```java
if (ClassUtils.isAssignable(List.class, object.getClass()) && ClassUtils.isAssignable(Double.class, object.getClass().getComponentType())) {
// 类型转换并检查是否满足条件
@SuppressWarnings("unchecked")
List<Double> list = (List<Double>) object;
// 现在list可以直接用于双精度数操作了
}
```
在这个例子中,我们先确认object的Class能否被List类所assignable,接着检查其componentType(内部元素类型)是否能被Double类assignable。
阅读全文