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

如何在Service类中获取自定义List<PortedNumber>的所有值并写入文本文件

问题原因

你在Service类中自行实例化了PortedNumber对象,这个全新的对象没有经过属性赋值,自然只能拿到类型默认值,实际有效的PortedNumber列表存储在方法入参的Request对象中。

解决代码

修改后的Service类逻辑如下:

public class Service {
    public AcknowledgeMessage checkRequestValidity(Request request) throws IOException {
        AcknowledgeMessage acknowledgeMessage = new AcknowledgeMessage();
        // 从入参request中获取所有PortedNumber实例
        List<PortedNumber> portedNumberList = request.getSingleNumber();
        
        // 开启IO流写文件
        try(FileWriter fw = new FileWriter("myfile.txt", true);
            BufferedWriter bw = new BufferedWriter(fw);
            PrintWriter out = new PrintWriter(bw)) {
            // 遍历所有PortedNumber逐个写入
            for (PortedNumber portedNumber : portedNumberList) {
                long msisdn = portedNumber.getNumber();
                String recipientRC = portedNumber.getRecipientRC();
                String donorRC = portedNumber.getDonorRC();
                String nrhRC = portedNumber.getNrhRC();
                out.println(msisdn+"\t"+recipientRC+"\t"+donorRC+"\t"+nrhRC);   
            }
        } catch (IOException e) {
            // 按需处理异常
            e.printStackTrace();
        }
        return acknowledgeMessage;
    }
}

注意事项

  • 如果是Spring Boot接口接收XML/JSON请求,需要确保接口层的Request参数已经加上了@RequestBody注解,且Request、PortedNumber类加了对应序列化注解(接收XML的话补@XmlRootElement相关注解),框架会自动把请求参数映射到Request对象的singleNumber列表中,不需要手动实例化PortedNumber。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 17:24:08