我正在嘗試返回POJO的數組列表。當我調試時,我看到pojo的arraylist是4,我可以看到條目,但它只返回最後一個條目並打印它四次。不知道我錯在哪裏。POJO的ArrayList只包含最後添加的項目。
預期: AID - 123 AID - 234 AID - 456 AID - 678
實際
AID - 678 AID - 678 AID - 678 AID - 678 修訂<初始化E內循環解決了問題
@Override
public List<E> findAllByLoginId(String loginId) {
String oracleUrl = oracleProperties.getUrl();
List<E> el = new ArrayList<>();
int page =0;
int totalPages = 1;
URL url;
try {
for(page=0;page<totalPages;page++){
url = new URL(oracleUrl+loginId+"/page/" + page");
ObjectMapper mapper = new ObjectMapper();
UContent value = mapper.readValue(url, UContent.class);
List<UEntitiy> entities = value.getContent();
totalPages = value.getTotalPages();
total = value.getTotalElemenets();
if (entities!=null){
String query = null;
for(UEntitiy item : entities){
item = droolsHelper.createQueryWithDrools(item); // Drools
if(!StringUtils.isEmpty(item.getCQuery()) && item.getCQuery()!=null){
result = runNeo4j(item.getCQuery());// execute in neo4j
if(result.list().size() == 0){
E e = new E();
e.setCId(cId);
e.setR(r);
e.setU(uId);
el.add(e);
}
}
}
}
}
}
catch (MalformedURLException e) {
e.printStackTrace();
} catch (JsonParseException e) {
e.printStackTrace();
} catch (JsonMappingException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return el;
}
我的猜測是你不是每次創建對象的新實例,只是一遍又一遍地改變一個實例的屬性。 – csmckelvey
@WebDev你能給我們提供一個由你的oracle URL產生的JSON樣本嗎? –