从字符串创建ascii数字字符串

时间:2019-04-21 10:53:00

标签: java java-8 java-stream

我需要根据给定的字符串创建一个数字的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

有更有效的方法吗?可能只有一个流?

1 个答案:

答案 0 :(得分:5)

只需使用mapToObj并将其转换为字符串即可。

 String result = example.chars()
            .mapToObj(String::valueOf)
            .collect(Collectors.joining());