怎么从list中取出数据放到List<BigDecimal>中
时间: 2024-04-16 19:23:52 浏览: 145
如果你有一个List,其中包含了其他类型的数据,你想将这些数据提取出来并放入一个新的List<BigDecimal>中,你可以使用循环遍历原始的List,并将每个元素转换为BigDecimal类型后添加到新的List中。以下是一个示例代码:
```java
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
public class ExtractBigDecimal {
public static void main(String[] args) {
List<Object> originalList = List.of(
1.23,
4.56,
"7.89",
10,
"hello"
);
List<BigDecimal> bigDecimalList = new ArrayList<>();
for (Object element : originalList) {
if (element instanceof BigDecimal) {
bigDecimalList.add((BigDecimal) element);
} else if (element instanceof String) {
try {
BigDecimal number = new BigDecimal((String) element);
bigDecimalList.add(number);
} catch (NumberFormatException e) {
// Ignore elements that cannot be parsed as BigDecimal
}
}
}
System.out.println("BigDecimal List: " + bigDecimalList);
}
}
```
在上面的示例中,我们创建了一个包含不同类型数据的列表`originalList`,其中包含了BigDecimal类型、Double类型、String类型和Integer类型的元素。然后,我们创建了一个空的List<BigDecimal> `bigDecimalList`,用于存放提取出的BigDecimal类型元素。
在循环遍历原始列表时,我们使用`instanceof`运算符检查每个元素的类型。如果元素是BigDecimal类型,直接将其添加到新的List中。如果元素是String类型,我们尝试将其解析为BigDecimal类型,如果解析成功,则将其添加到新的List中。
最后,我们打印出新的List `bigDecimalList`,其中只包含了BigDecimal类型的元素。
请根据你的实际情况调整代码,并处理可能出现的异常情况。
阅读全文