如何将字符串中的整数相加?Java的

com*_*ozy 0 java numeric

我一直在寻找一种在字符串中添加整数的方法,并找到了一些不同的回答说:

String line = "123456789";
int total = 0;
for (int i = 0;i<line.length();i++) {
    total += Character.getNumericValue(line.charAt(i));
}
Run Code Online (Sandbox Code Playgroud)

有没有更短的方法这样做,而不是循环通过字符串,它只会将每个字符的数值加起来?

Arn*_*lle 5

您可以将字符串转换为a IntStream(将为每个char添加ascii代码),然后使用以下命令将ascii代码转换为相应的数值Character::getNumericValue:

"123".chars().map(Character::getNumericValue).sum()
Run Code Online (Sandbox Code Playgroud)

正如问题评论中所述,这更短但不是最好的方法.在实际应用程序中,我会使用扩展版本来实现其可读性.