java - 将单词转换为字符整数表示的总和
问题描述
我正在尝试将一个单词转换foo
为单个字符的整数编码的总和。这将计算为 102 + 111 + 111 等于 324。我正在尝试使用来自字符列表的流来实现这一点:
String word = "foo";
Arrays
.asList(word.toCharArray())
.stream()
.mapToInt (letter -> Character.getNumericValue(letter))
.sum();
我得到的错误是:
no suitable method found for getNumericValue(char[])
我将如何解决这个错误,或者有更好的方法来完成这个?
解决方案
使用官方的方式,而不是某种“我想要一个Stream,但我只能从一个List中获取一个Stream,所以我必须将String转换成一个List”。
String word = "foo";
word.codePoints().sum()
String.codePoints()
返回流中代码点的 IntStream。
请注意,并非每个字符都可以用单个s 表示char
,例如表情符号需要两个char
s。
推荐阅读
- php - API回复后如何处理
- sql - 在工作数据库上运行还原。怎么了?
- arrays - JSON 存储到特定索引不可调用的数组中
- php - 如何通过服务器上的 cron 作业每小时“访问”一个站点?
- sql - 计算消耗返回零
- c# - 时间:2012-04-10 标签:c#winformvs2012
- android - 使用的api的易错性是什么意思
- python - 如何使用 gRPC 进行异步流式传输?
- spring - 为什么我不能在 Spring Tool Suite 和 https://start.spring.io/ 上选择 Springboot 2.1.1?
- pgadmin - pgadmin4 查询工具中奇怪的行缩进,如何解决?