You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将Character类型的ArrayList转换为字符串,或移除字符串内的[]字符?

现有ArrayList转字符串的实现方法

你当前的方案完全可以实现需求,把ArrayList<Character>转回字符串有两种常用写法:

方法1:Java 8及以上版本使用Stream

import java.util.stream.Collectors;

// 你的原有代码不变,在遍历结束后加这段
String result = filtredChars.stream()
        .map(String::valueOf)
        .collect(Collectors.joining());

方法2:通用StringBuilder拼接方案

兼容性更好,性能也更高:

StringBuilder sb = new StringBuilder(filtredChars.size());
for (char c : filtredChars) {
    sb.append(c);
}
String result = sb.toString();

更简洁的替代方案

你现在的实现需要额外维护一个ArrayList做中间存储,其实可以省掉这一步直接得到目标字符串,推荐两种更常用的写法:

方案1:直接使用字符串替换(代码最简洁)

用正则匹配[和]直接替换为空即可,注意正则中[是特殊字符需要转义:

String text = "Hell[o Worl]d!";
String result = text.replaceAll("\\[|\\]", "");

方案2:无正则高性能遍历方案

如果不想引入正则解析的额外开销,直接遍历字符串的时候用StringBuilder存结果即可,比你现有的方案少了中间集合的内存占用,效率更高:

String text = "Hell[o Worl]d!";
StringBuilder sb = new StringBuilder(text.length());
for (char c : text.toCharArray()) {
    if (c != '[' && c != ']') {
        sb.append(c);
    }
}
String result = sb.toString();

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 14:18:03