You need to enable JavaScript to run this app. Java中如何向List<Data>型LinkedList存入String类型的message值
优惠活动
大模型
产品
解决方案
定价
更多

Java中如何向List<Data>型LinkedList存入String类型的message值

问题根源

List<Data>的add方法仅接受Data类型实例,直接传入String类型的data.getMessage()会触发类型不匹配编译错误。在不修改集合泛型为List<String>的前提下,只需将需要存储的message值包装为Data实例后再加入集合即可,具体实现分两种常见场景:

场景1:复用已设置消息的传入对象

当前代码中已经执行了data.setMessage(temp),此时传入的data实例的message字段已经是目标存储值,直接将该实例加入集合即可:

public class Write {
    String temp = "test";
    public List<Data> testing(Data data)
    {
        data.setMessage(temp);
        List<Data> dataz = new LinkedList<>();
        // 直接添加已设置好message的Data实例
        dataz.add(data);
        return dataz;
    }
}

注意:该方式传入的是原data的引用,若后续修改原data的message字段,集合内对应元素的值会同步变化。

场景2:生成独立的新Data实例存储消息

如果需要避免原对象被修改的影响,或是要将独立的字符串值单独存入集合,可手动新建Data实例,将目标message值设置到新实例的属性后再添加:

public class Write {
    String temp = "test";
    public List<Data> testing(Data data)
    {
        data.setMessage(temp);
        List<Data> dataz = new LinkedList<>();
        // 新建独立Data实例,将需要存储的message字符串写入其属性
        Data storageData = new Data();
        storageData.setMessage(data.getMessage());
        dataz.add(storageData);
        return dataz;
    }
}

该方式生成的Data实例与原传入的data互不影响,后续修改任意一方的message字段都不会干扰另一方的存储值。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.24 14:06:04