如何在一行代码中总结除以逗号的值?

Din*_*ius 0 java

我需要在字符串"2,4,5"中总结除以逗号的值.当然,我可以这样做:

String[] str = "2,4,5".split(",")
int total = 0;
for (int i=0; i<str.length; i++)
{
  total += str[i];
}
Run Code Online (Sandbox Code Playgroud)

但我想知道是否有更优雅和更短的解决方案(最好是一行代码).

Era*_*ran 5

为了对数字求和,首先必须将字符串转换为数字.

像这样的东西:

int total = Stream.of ("2,4,5".split(",")).mapToInt(Integer::parseInt).sum();
Run Code Online (Sandbox Code Playgroud)
  • Stream.of()转换String[]为a Stream<String>.
  • mapToInt(Integer::parseInt)将该流转换为具有方便方法的IntStream(通过应用于Integer.parseInt()每个String)sum().