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

Apex如何将List<String>合并为完整字符串?代码实现求助

解决Apex List转目标字符串的问题

你已经完成了字符转换的核心逻辑,现在只差最后一步把处理后的字符列表拼接成完整字符串啦!当前代码仅输出了List的调试信息,没有做最后的拼接操作,这就是你没能得到目标格式的原因。

问题分析

你的stringCharacters列表处理后已经包含了所有需要的字符(包括处理后的数字、字母和原字符串中的空格),比如你提到的(1,i,n,d,i,a,,1,2,3)里的空元素其实是原字符串空格拆分后的表现,我们只需要把这些元素无缝拼接起来,就能得到"1india 123"这样的结果。

修改方案

使用Apex自带的String.join()方法,它可以将List中的元素按指定分隔符拼接成字符串。这里我们用空字符串作为分隔符,就能把所有字符连在一起,完全保留原有顺序和空格。

修改后的完整代码

public class Assign2{
    public String testFunction(String str ,integer num){ // 修改返回类型为String,方便获取结果
        integer rem,temp = 0;
        integer sumOfDigit = 0;
        List<String> stringCharacters = new List<String>();
        stringCharacters = str.split('');
        System.debug('stringCharacters::'+stringCharacters);
        
        for(integer i=0; i<stringCharacters.size(); i++){
            if(stringCharacters[i].isNumeric()){
                temp = Integer.valueOf(stringCharacters[i]);
                rem = temp + num;
                sumOfDigit = math.mod(rem,10);
                stringCharacters[i] = String.valueOf(sumOfDigit); // 用String.valueOf更规范
            }
        }
        
        // 关键步骤:将List<String>拼接成完整目标字符串
        String result = String.join(stringCharacters, '');
        System.debug('最终结果::'+result);
        return result; // 返回结果,方便调用者直接使用
    }
}

调用示例

Assign2 obj = new Assign2();
String output = obj.testFunction('2india 234',9);
System.debug(output); // 输出结果:1india 123

额外说明

  • String.join(stringCharacters, '')会依次拼接列表中所有元素,因为分隔符是空字符串,所以不会额外添加任何冗余字符,完美保留原有的空格和字符顺序。
  • 我把方法返回类型改成了String,这样你调用时可以直接获取结果,而不用只在调试日志里查看。如果不需要返回值,也可以保持void类型,仅在方法内处理和输出结果即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 07:33:18