• Skip to primary navigation
  • Skip to content

Mauda

IT, Java and Music

Graduação   SCJP   Mestrado
  • Apresentação
  • Certificação Java
  • JPA
    • Exceptions
  • JSF
  • Versionamento
  • Contato

For-Each puzzle 003!! – Resposta

April 7, 2016 by Mauda Leave a Comment

Conteúdo do Post:
  1. Puzzle 003 – Resposta
  2. finnaly{

Olá Pessoal, tudo bom?

Aqui é a resposta do puzzle 003. Veja na continuação deste post!

Puzzle 003 – Resposta

E agora baseado no Puzzle 002 do for-each será que uma inserção na lista irá ter um resultado diferente da exclusão. Vamos ver o que esse código irá gerar.

O código apresentado na classe Teste irá gerar uma exception durante a execução do teste, como mostra a stack trace abaixo:

java.util.ConcurrentModificationException
at java.util.ArrayList$Itr.checkForComodification(ArrayList.java:859)
at java.util.ArrayList$Itr.next(ArrayList.java:831)
at br.com.mauda.puzzle.foreach.numero002.Teste.testar(Teste.java:27)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
… 20 more

Isso pois a lista de Strings, linguagens, está sendo iterada pelo for each, sendo “travada” pelo Java (Lock), logo assim que a linha 28 é executada, esta tenta modificar a list (Remove, Add, Set, fazem esse tipo de mudança), mas como está travada pelo Java, irá gerar uma java.util.ConcurrentModificationException.

finnaly{

Gostando dos puzzles? Duvidas ou sugestões? Deixe seu feedback! Isso ajuda a saber a sua opinião sobre os artigos e melhorá-los para o futuro! Isso é muito importante!

Até um próximo post!

Filed Under: Java, Puzzle Tagged With: for-each, Java, JUnit, puzzle

About Mauda

Mestre em Informática, Analista de Sistemas, Professor, SCJP e Baterista. Desde 2002 trabalhando no mundo Java e ensinando pessoas sobre desenvolvimento de sistemas. Mais informações

Reader Interactions

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Advertisements

Copyright © 2025 · Genesis Framework · WordPress · Log in