You need to enable JavaScript to run this app. 如何在Java中使用Stream API将字符串内英文字母转换为对应ASCII值
优惠活动
大模型
产品
解决方案
定价
更多

如何在Java中使用Stream API将字符串内英文字母转换为对应ASCII值

Java Stream API实现字符转ASCII值方案

完全可以通过Java Stream API完成该需求,无需编写传统逐字符循环逻辑。

实现逻辑

  • 调用字符串的chars()方法,直接获取由每个字符对应的整型码值组成的IntStream(对英文字符来说,码值就是标准ASCII值)
  • 通过流的过滤操作,剔除不需要转换的分隔符(本例中的下划线)
  • 将保留的字符对应的ASCII值转为字符串格式,最后用指定分隔符拼接成最终结果

可运行代码示例

import java.util.stream.Collectors;

public class AsciiConvertDemo {
    public static void main(String[] args) {
        String str = "a_B_c";
        String result = str.chars()
                // 仅保留英文字符,过滤掉下划线等非字母内容
                .filter(c -> Character.isLetter(c))
                // 流元素本身就是ASCII整型值,直接转为字符串
                .mapToObj(String::valueOf)
                // 用下划线拼接所有转换后的ASCII值
                .collect(Collectors.joining("_"));
        
        // 输出结果:97_66_99,与预期一致
        System.out.println(result);
    }
}

适配扩展

如果需要保留原字符串中的非字母字符,只需要调整流的映射逻辑即可,无需整体改动实现结构:

// 适配场景示例:保留原字符串中的非字母字符,仅对英文字符做ASCII转换
String result = str.chars()
        .mapToObj(c -> {
            // 英文字符转ASCII值,非英文字符保留原内容
            if (Character.isLetter(c)) {
                return String.valueOf(c);
            }
            return String.valueOf((char)c);
        })
        .collect(Collectors.joining());

内容的提问来源于stack exchange,提问作者bigzuo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.11.01 19:06:08