• 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 001!! – Resposta

March 24, 2016 by Mauda Leave a Comment

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

Olá Pessoal, tudo bom?

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

Puzzle 001 – Resposta

O código apresentado na classe ForEachTest irá falhar já na compilação, pois a classe CollectionCustomizada não implementa a interface java.lang.Iterable, dessa forma não será possível nem realizar a compilação desse programa, como mostra a stack trace abaixo:

java.lang.Error: Unresolved compilation problem: Can only iterate over an array or an instance of java.lang.Iterable
at br.com.mauda.puzzle.foreach.numero001.ForEachTest.teste(ForEachTest.java:19)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
… 20 more

É de conhecimento da maioria dos desenvolvedores que as instâncias das classes  Collection, podem ser utilizadas dentro de um for each, mas não é de conhecimento comum o porque isso ocorre.

Como o for each necessita que a classe implemente a interface java.lang.Iterable, somente classes que façam essa implementação o podem utilizar. Todas as classes da API Collection, implementam a interface java.util.Collection e essa interface implementa a interface java.lang.Iterable.

Assim para que o puzzle funcione, a classe CollectionCustomizada deveria implementar a interface Collection ou estender a classe AbstractCollection

finnaly{

Esse foi o primeiro puzzle sobre alguma parte do Java, pretendo no futuro ir colocando mais puzzles, a fim de trabalhar alguns aspectos da linguagem.

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, 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