将List<BigDecimal>转为以,为间隔的string
时间: 2024-02-03 15:11:34 浏览: 81
可以使用Java 8的流式编程和字符串拼接来实现这个功能,示例代码如下:
```java
List<BigDecimal> list = Arrays.asList(
new BigDecimal("1.23"),
new BigDecimal("4.56"),
new BigDecimal("7.89"));
String result = list.stream()
.map(Object::toString)
.collect(Collectors.joining(","));
System.out.println(result); // 输出:1.23,4.56,7.89
```
在这个代码中,使用`stream()`方法将`List`转换为一个流,然后使用`map()`方法将流中的每个元素转换为字符串,再使用`collect()`方法将所有字符串连接成一个以逗号为分隔符的字符串。最后将结果输出即可。
相关问题
如何将List<String>转化为List<BigDecimal>
要将 `List<String>` 转换为 `List<BigDecimal>`,你可以使用流(Stream)和 `BigDecimal` 的 `valueOf` 方法来实现。以下是一种实现方式:
```java
import java.math.BigDecimal;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
public class Main {
public static void main(String[] args) {
List<String> stringList = Arrays.asList("1.23", "4.56", "7.89");
List<BigDecimal> bigDecimalList = stringList.stream()
.map(BigDecimal::new)
.collect(Collectors.toList());
System.out.println(bigDecimalList);
}
}
```
在上述示例中,我们首先创建了一个 `List<String>`,名为 `stringList`,其中包含了几个字符串表示的数字。然后,我们使用流的 `map` 操作来将每个字符串转换为对应的 `BigDecimal` 对象。这里使用了方法引用 `BigDecimal::new` 来创建 `BigDecimal` 对象。最后,我们使用 `collect` 方法将流收集为一个新的 `List<BigDecimal>`,名为 `bigDecimalList`。
运行以上代码,输出将会是:
```
[1.23, 4.56, 7.89]
```
这就是将 `List<String>` 转换为 `List<BigDecimal>` 后的结果。
希望对你有帮助!如果还有其他问题,请随时提问。
List<BigDecimal> 转 List<Integer>
将 `List<BigDecimal>` 类型的数据转换为 `List<Integer>` 类型通常需要通过取整或者其它数据处理方式实现,因为 BigDecimal 和 Integer 存储的是不同的数值类型。以下是一个简单的示例,假设我们想要丢弃小数部分并转换:
```java
import java.util.ArrayList;
import java.util.List;
public class Main {
public static void main(String[] args) {
// 原始的大规模BigDecimal列表
List<BigDecimal> bigDecimalList = ...;
// 创建一个新的Integer列表来存储结果
List<Integer> integerList = new ArrayList<>();
for (BigDecimal bd : bigDecimalList) {
if (!bd.compareTo(BigDecimal.ZERO) == 0) { // 如果不是零,则转换
int intValue = bd.setScale(0, RoundingMode.UP).intValue(); // 取整并向上舍入
integerList.add(intValue);
}
}
System.out.println(integerList); // 输出转换后的整数列表
}
}
```
在这个例子中,`setScale()` 方法用于设置小数点后的位数,并指定舍入模式。如果原值为零或者小于零,转换后的结果可能是负数。
阅读全文