我有这个类,作为我将使用实例变量进行处理后返回所有的实例在一个呼叫中的一个变量
class Data{
static int counter= 0;
boolean boolean1;
String string1;
public Data() {
counter++;
}
}
容器中,我有这样的方法,设置数据
的值public Data setData()
{
Data data = null;
for (int i = 0; i < somecoutnerhere; i++) {
Data = new Data();
Data.boolean1 = some boolean put here;
Data.string1 = "some string to be put here";
}
return ProcessData(Data);
}
我也有这个类过程数据,这将使数据的使用和将构建响应
private class ProcessData
{
private final Map<String, List<?>> map = new HashMap<String, List<?>>();
int counter;
public ProcessData(Data data)
{
map.put("boolean1", data.boolean1);
map.put("String1", data.string1);
counter = data.counter;
}
public String someMethodToGenerateReturnData(){
// some code here to make use of the Data collected. Will basically use map to construct the return String
}
}
我的问题是我无法弄清楚如何返回在setData()上的数据的for循环上创建的所有实例变量。有什么想法吗?
您可以使用反射来获取所有实例变量,但不清楚为什么需要这个 –
取决于需求...您可以使用List/array/set/collection来存储ProcessData的所有结果。在这里,除了最后一个循环之外,你会丢失数据的每个实例......那么你究竟在做什么? – AxelH
只需将您的for-loop中创建的数据放入列表中并返回该数据?到目前为止,你所做的只是实例化一个新的数据对象,用数据填充它,然后一遍又一遍地覆盖它。 – Seth