【发布时间】:2015-02-09 21:12:50
【问题描述】:
我很难理解我的逻辑发生了什么。我的目标是如果当前正在制作的数组列表中不存在对象上的字符串,则将对象添加到数组列表中。
所以在下面解释我的代码/我的意图..
当我添加到 rowItems 时,检查已经添加到 rowItems 的 versionId,如果是,则附加当前对象的名称。
这是我目前所拥有的:
rowItems = new ArrayList<>();
for (int i = 0; i < SearchResultsHolder.results.size(); i++) {
SearchRowItem item = new SearchRowItem(SearchResultsHolder.results.get(i).get("LAST_NAME").toString() + ", " + SearchResultsHolder.results.get(i).get("FIRST_NAME").toString(),
SearchResultsHolder.results.get(i).get("BUSINESS_NAME").toString(),
SearchResultsHolder.results.get(i).get("LOB").toString(),
SearchResultsHolder.results.get(i).get("ID_NUMBER").toString(),
cleanCancelled(SearchResultsHolder.results.get(i).get("STATUS").toString()),
SearchResultsHolder.results.get(i).get("EFF_DATE").toString(),
SearchResultsHolder.results.get(i).get("EXP_DATE").toString(),
SearchResultsHolder.results.get(i).get("VERSION_ID").toString());
if (i == 0){
rowItems.add(item);//add first object by default
}
else {
for (int p = 0; p < rowItems.size(); p++) {
// if the version id is equal to any of the others already in the rowItems array appent the name to the object already in the array
if (item.getVersionId().toString().equals(rowItems.get(p).getVersionId().toString()))
{
item.setName(item.getName().toString() + "\n" + rowItems.get(p).getName().toString());
break;
} else {
rowItems.add(item);
}
}
}
}
System.out.println("row item" + rowItems.toString());
SearchResults 持有者的布局如下:
[
{
VERSION_ID=50,
STATUS=Active,
ID_NUMBER=1234,
FIRST_NAME=JOHN,
LAST_NAME=DOE
},
{
VERSION_ID=50,
STATUS=Active,
ID_NUMBER=1234,
FIRST_NAME=JANE,
LAST_NAME=DOE
},
{
VERSION_ID=100,
STATUS=Dead,
ID_NUMBER=1234,
FIRST_NAME=JOHN,
LAST_NAME=DOE
},
{
VERSION_ID=100,
STATUS=Dead,
ID_NUMBER=1234,
FIRST_NAME=JANE,
LAST_NAME=DOE
},
]
以及我试图用我班级中的对象实现的目标:(rowitems arraylist)
[
{
VERSION_ID=50,
STATUS=Active,
ID_NUMBER=1234,
NAME=JANE,DOE
JOHN,DOE
},
{
VERSION_ID=100,
STATUS=Dead,
ID_NUMBER=1234,
NAME=JANE,DOE
JOHN,DOE
},
]
我得到了什么:
[
{
VERSION_ID=50,
STATUS=Dead,
ID_NUMBER=1234,
NAME=JOHN,DOE
},
{
VERSION_ID=100,
STATUS=Active,
ID_NUMBER=1234,
NAME=JOHN,DOE
}
]
【问题讨论】:
-
当你运行它时实际发生了什么?
-
@DavidConrad 添加了我从中得到的信息
-
您是否尝试过使用调试器进行单步调试?