Exception in thread “restartedMain” java.lang.reflect.InvocationTargetException
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:49)
Caused by: java.lang.IndexOutOfBoundsException: Index 4 out of bounds for length 4
at java.base/jdk.internal.util.Preconditions.outOfBounds(Preconditions.java:64)
at java.base/jdk.internal.util.Preconditions.outOfBoundsCheckIndex(Preconditions.java:70)
at java.base/jdk.internal.util.Preconditions.checkIndex(Preconditions.java:266)
at java.base/java.util.Objects.checkIndex(Objects.java:359)
at java.base/java.util.ArrayList.get(ArrayList.java:427)
at com.movie.controller.PlanilhaController.lambda$0(PlanilhaController.java:54)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
at com.movie.controller.PlanilhaController.movieList(PlanilhaController.java:38)
at com.movie.MovieApiApplication.main(MovieApiApplication.java:21)
… 5 more
Sim, até estava ciente disso… na linha em que a célula está vazia a mesma não é considerada na iteração… então utilizei o “if” (cells.get(4) == null ? “” : cells.get(4).getStringCellValue()) para tratar caso da célula 4 for null então utilizar “” String vazia, porém não adiantou…
Achei um caso parecido aqui no GUJ na qual foi indicada a solução cells.get(4).getStringCellValue().isEmpty(), porém ocorre o mesmo erro…
Tem alguma forma de eu testar se a respectiva coluna a ser iterada existe?
Estou utilizando um arquivo .CSV ao invés de .XLSX, desta forma não irei mais precisar utilizar a API da Apache POI… estou utilizando a CSVReader que no momento estou conseguindo fazer as tratativas de colunas vazias sem nenhum problema.