java8 list对象string字符串求和
时间: 2023-08-02 08:10:35 浏览: 64
可以使用 Java 8 的 Stream API 来实现 List 对象中 String 字符串求和,具体实现代码如下:
```java
List<String> stringList = Arrays.asList("1", "2", "3", "4", "5");
int sum = stringList.stream()
.mapToInt(Integer::parseInt)
.sum();
System.out.println(sum);
```
解释一下代码的逻辑:首先将 List 转化成 Stream 对象,然后使用 mapToInt 方法将 Stream 中的字符串转化为整数,最后使用 sum 方法求和并输出结果。注意,这里使用了方法引用 `Integer::parseInt` 将字符串转化为整数。
相关问题
java8 list string 求和
如果你想对List<String>中的元素求和,你需要先将这些字符串转换成数字类型,然后再进行求和操作。以下是一个使用Java 8的Lambda表达式对List<String>中的数字字符串求和的示例代码:
```java
List<String> numbers = Arrays.asList("1", "2", "3", "4", "5");
int sum = numbers.stream()
.mapToInt(Integer::parseInt)
.sum();
System.out.println(sum);
```
输出结果为:15
在上面的代码中,我们首先将字符串列表转换为流,然后使用mapToInt方法将流中的每个元素转换为int类型。最后,我们使用sum方法对这些int类型的数字求和。
list string转BigDecimal 求和
在将字符串列表转换为BigDecimal并求和时,需要注意以下几点。首先,要确保字符串不为空,并且不包含千分位分隔符。如果字符串中包含千分位分隔符,需要先将其去除。其次,使用BigDecimal的add方法将每个BigDecimal对象相加,最后得到总和。下面是一个示例代码:
```java
import java.math.BigDecimal;
import java.util.List;
public class BigDecimalSum {
public static BigDecimal sum(List<String> stringList) {
BigDecimal sum = BigDecimal.ZERO;
for (String str : stringList) {
if (str != null && !str.isEmpty()) {
// 去除千分位分隔符
String number = str.replace(",", "");
BigDecimal num = new BigDecimal(number);
sum = sum.add(num);
}
}
return sum;
}
public static void main(String\[\] args) {
List<String> stringList = List.of("1,000.50", "2,500.75", "3,100.25");
BigDecimal total = sum(stringList);
System.out.println("总和:" + total);
}
}
```
在上述代码中,我们首先创建一个BigDecimal对象sum,并将其初始化为0。然后遍历字符串列表,对每个字符串进行非空判断,并去除千分位分隔符。接下来,将去除千分位分隔符后的字符串转换为BigDecimal对象,并使用add方法将其与sum相加,得到新的sum值。最后,输出总和。在这个例子中,字符串列表\["1,000.50", "2,500.75", "3,100.25"\]的总和为6,601.50。
#### 引用[.reference_title]
- *1* [String转BigDecimal遇到的坑](https://blog.csdn.net/weixin_42862736/article/details/123497645)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]