Ir para conteúdo
  • 0

[Duvida] Sobre o que é esse erro ? java.util.ConcurrentModificationException


Solitario

Pergunta

O erro seria este:

java.util.ConcurrentModificationException
        at java.util.HashMap$HashIterator.nextNode(Unknown Source) ~[?:1.8.0_131]
        at java.util.HashMap$KeyIterator.next(Unknown Source) ~[?:1.8.0_131]
        at me.arthurgui.gladiador.sistemas.GladiadorManager.remPlayer(GladiadorManager.java:166) ~[?:?]
        at me.arthurgui.gladiador.eventos.PlayerEventos$1.run(PlayerEventos.java:36) ~[?:?]
        at org.bukkit.craftbukkit.v1_7_R4.scheduler.CraftTask.run(CraftTask.java:71) ~[spigot1710.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95]
        at org.bukkit.craftbukkit.v1_7_R4.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:350) [spigot1710.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95]
        at net.minecraft.server.v1_7_R4.MinecraftServer.v(MinecraftServer.java:641) [spigot1710.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95]
        at net.minecraft.server.v1_7_R4.DedicatedServer.v(DedicatedServer.java:289) [spigot1710.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95]
        at net.minecraft.server.v1_7_R4.MinecraftServer.u(MinecraftServer.java:584) [spigot1710.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95]
        at net.minecraft.server.v1_7_R4.MinecraftServer.run(MinecraftServer.java:490) [spigot1710.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95]
        at net.minecraft.server.v1_7_R4.ThreadServerApplication.run(SourceFile:628) [spigot1710.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95]

Porém as vezes ocorre e as vezes não ocorre... o por que disso quero saber ...

 

@Edit esqueci de colocar a parte do code ...

7tKgejy.png

Editado por Solitario
Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

O erro seria este:

java.util.ConcurrentModificationException
        at java.util.HashMap$HashIterator.nextNode(Unknown Source) ~[?:1.8.0_131]
        at java.util.HashMap$KeyIterator.next(Unknown Source) ~[?:1.8.0_131]
        at me.arthurgui.gladiador.sistemas.GladiadorManager.remPlayer(GladiadorManager.java:166) ~[?:?]
        at me.arthurgui.gladiador.eventos.PlayerEventos$1.run(PlayerEventos.java:36) ~[?:?]
        at org.bukkit.craftbukkit.v1_7_R4.scheduler.CraftTask.run(CraftTask.java:71) ~[spigot1710.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95]
        at org.bukkit.craftbukkit.v1_7_R4.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:350) [spigot1710.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95]
        at net.minecraft.server.v1_7_R4.MinecraftServer.v(MinecraftServer.java:641) [spigot1710.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95]
        at net.minecraft.server.v1_7_R4.DedicatedServer.v(DedicatedServer.java:289) [spigot1710.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95]
        at net.minecraft.server.v1_7_R4.MinecraftServer.u(MinecraftServer.java:584) [spigot1710.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95]
        at net.minecraft.server.v1_7_R4.MinecraftServer.run(MinecraftServer.java:490) [spigot1710.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95]
        at net.minecraft.server.v1_7_R4.ThreadServerApplication.run(SourceFile:628) [spigot1710.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95]

Porém as vezes ocorre e as vezes não ocorre... o por que disso quero saber ...

 

@Edit esqueci de colocar a parte do code ...

7tKgejy.png

Não pode remover o valor enquanto está fazendo o loop que envolva ele...

 

Caso queira fazer isto, utilize o seguinte código:

 

Iterator<String> iter = Cache.jogadores.keySet().iterator();

 

while(iter.hasNext()){

String a = iter.next();

 

// CONDIÇÕES

 

iter.remove();

}

Link para o comentário
Compartilhar em outros sites

você ta modificando a map em um loop que está incluindo ela, gerando essa exceção.

uma forma de resolver isso é clonar sua map e dar um loop na clone, ao invés de modificar os itens no clone, voce modifica na map original

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...