[英]Can't save more than 2 Elements in ArrayList to MySQL with SpringBoot?
[英]Can't add more elements to the ArrayList
我正在嘗試向ArrayList中添加更多元素,但是我收到這些錯誤:
java.util.ConcurrentModificationException
at java.util.ArrayList$Itr.checkForComodification(ArrayList.java:901)
at java.util.ArrayList$Itr.next(ArrayList.java:851)
at Gestor.adicionarProduto(Gestor.java:32)
我要做的第一件事是檢查Arraylist是否為空以添加第一個元素。 而且我正在檢查ArrayList是否不為空以比較和添加更多元素。
if(!arProduct.isEmpty()){
for(Produto produto : arProduct){
String receivePosicao = letraPrateleira.toLowerCase() + nrPosicao;
String searchPosicao = produto.getLetraPrateleira() + produto.getNrPosicao();
if(receivePosicao.equals(searchPosicao)){
System.out.println("Esta posição encontra-se ocupada por outro produto.");
}else{
arProduct.add(new Produto(nomeProduto, precoProduto, mensagemAdicional, letraPrateleira, nrPosicao));
}
}
}
if(arProduct.isEmpty(){
arProduto.add(new Produto("a", 2, "a", "a", 1));
}
我究竟做錯了什么?
謝謝。
您在遍歷列表時添加元素!
將元素添加到臨時列表中,並在迭代后添加它們:
List<Produto> toAdd = new ArrayList<>();
for(Produto produto : arProduct) {
// ...
toAdd.add(new Produto(nomeProduto, precoProduto, mensagemAdicional, letraPrateleira, nrPosicao));
}
produto.addAll(toAdd);
遍歷列表時無法修改列表。 如果需要修改列表,則使您的方法返回一個布爾值,然后在外部修改列表。
else語句和第二個if將返回true,這將導致列表被修改。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.