Java只获取某些对象字段

Java只获取某些对象字段,java,pojo,Java,Pojo,我有一个POJO,看起来像这样: public class Task { private TaskData taskData; String id; private int status; private int success; private int error; } class TaskData { transient LinkedList<String> list0; transient LinkedList<

我有一个POJO,看起来像这样:

public class Task {
    private TaskData taskData;

    String id;
    private int status;
    private int success;
    private int error;
}

class TaskData {
    transient LinkedList<String> list0;
    transient LinkedList<String> list1;
}

为字段指定一个默认值null,然后稍后使用setter方法更新该值

public class Task {
    private TaskData taskData;

    String id;
    private int status;
    private int success;
    private int error;
}

class TaskData {
    transient LinkedList<String> list0 = null;
    transient LinkedList<String> list1 = null;

    public void setList0(LinkedList<String> list){
        list0 = list;
    }

    public void setList1(LinkedList<String> list){
        list1 = list;
    }
}
公共类任务{
私有任务数据任务数据;
字符串id;
私人身份;
个人成功;
私有整数错误;
}
类任务数据{
临时LinkedList list0=null;
临时LinkedList list1=null;
公共无效集合列表0(链接列表){
list0=列表;
}
公共无效集合列表1(链接列表){
列表1=列表;
}
}

我认为另一种方法是创建一个浅复制方法,排除您不需要的字段,并在填充地图时使用它,例如:

  public Task shallowCopy() {
    Task newTask = new Task();
    newTask.id = id;
    newTask.status = status;
    ...
    return newTask;
  }

你如何加载地图
tasksMap
?我可以想出一个解决方案,实现你自己的地图并覆盖put(),在放入地图时删除TaskData。不清楚你在问什么:你所说的“包含/加载”是什么意思?也不清楚他的意思“从Mapit获取所有对象实际上与如何加载
tasksMap
无关。(我想你是说初始化?)。关键是,当我从
tasksMap
获取所有对象时,会有大量的列表,当然我可以做到这一点,但当我需要所有
tasksMap
时,我可以肯定列表是巨大的,而不是
null
当我从
tasksMap
请求所有对象时,我假设所有属性(包括巨大的列表)其中一个对象已加载
  public Task shallowCopy() {
    Task newTask = new Task();
    newTask.id = id;
    newTask.status = status;
    ...
    return newTask;
  }