我需要根据给定的字符串创建一个数字的ascii值字符串。 我的字符串仅包含大写的A-Z字符。
目前我有:
String example = "STRING";
List<Integer> list = example.chars()
.mapToObj(item -> (int) item)
.collect(Collectors.toList());
输出:[83, 84, 82, 73, 78, 71]
比我做的事
String asciiString = list.stream()
.map( n -> n.toString() )
.collect( Collectors.joining( "" ) );
输出:838482737871
有更有效的方法吗?可能只有一个流?
答案 0 :(得分:5)
只需使用mapToObj
并将其转换为字符串即可。
String result = example.chars()
.mapToObj(String::valueOf)
.collect(Collectors.joining());