Java只获取某些对象字段
我有一个POJO,看起来像这样: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<
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;
}