我有这个类作为容器,我将使用实例变量进行处理
class Data{
static int counter= 0;
boolean boolean1;
String string1;
public Data() {
counter++;
}
}
我有这个设置Data
值的方法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);
}
我也有这个类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-loop for for data上创建的所有实例变量。有什么想法吗?
答案 0 :(得分:1)
我的问题是我无法弄清楚如何在setData()上返回for-loop for for data上创建的所有实例变量。有什么想法吗?
根据这个,你的问题不是&#34;在一个调用中返回所有实例一个变量&#34;,如标题所述,而是关于如何返回所有symget
的问题 - 在你的for中创建的对象-loop,这比较容易。
你的代码是错误的,所以我继续前进&amp;纠正了它(我希望我没有搞砸)。我还重命了一些东西。
我所做的改变是:
Data
- 类Data
- 方法中添加ProcessData
- 列表,该方法填入setData()
- 循环
(+评论)但是,我强烈建议您检查一下您的体系结构,并了解一般的命名约定或编码约定。名称应指出方法/变量/类的目的或内容,以及&#34; boolean1&#34;并非如此。
关于体系结构:for
- 类似乎仅存在于计数器中,您可以轻松地更改它,使Data
- 类过时(除非它在其他地方使用) )。
数据类:
Data
<强> class Data {
static int counter = 0;
boolean trueOrFalse;
String string;
public Data() {
counter++;
}
public Data(boolean someBoolean, String someString) {
this.trueOrFalse= someBoolean;
this.string = someString;
counter++;
}
}
- 方法强>
setData()
<强> public List<ProcessData> setData() {
List<ProcessData> processedDataList = new ArrayList<ProcessData>();
for (int i = 0; i < someCounterHere; i++) {
processedDataList.add(new ProcessData(new Data(true, "testString"));
// a new Data-object is created (parameters true and "testString")
// a new ProcessData-object is created (parameter is the newly created Data-Object)
// the newly created ProcessData-object is added to the list
}
return processedDataList;
}
- 等级:强>
ProcessData