Je suis incapable d'ajouter un élément à une liste? UnsupportedOperationException
Ce un des objets de la liste qui se mord moi dans le cul..
À chaque fois que j'essaie d'ajouter un élément, il se produit ceci:
Caused by: java.lang.UnsupportedOperationException
at java.util.AbstractList.add(AbstractList.java:148)
at java.util.AbstractList.add(AbstractList.java:108)
La ligne de production de l'erreur est insignifiante, mais ici il est de toute façon:
AdventureLobbies.players.add(args[0].toLowerCase());
Ne dois-je pas accéder de manière statique?
Déclaration de variable:
AdventureLobbies.players = Arrays.asList(rs.getString("players").toLowerCase().split(","));
Des idées? Ne trouve rien sur Google qui en valent la peine.
Merci de nous montrer la déclaration de
Je seconde @KirkWoll de la suggestion. Je ne serais pas surpris si
D'accord avec les deux précédents commentaires - sans nous connaître le type de l'objet (c'est pourquoi nous avons besoin de voir la déclaration, ou l'appel de la méthode où vous avez obtenu cette liste), il est difficile de savoir pourquoi exactement pourquoi ce qui se passe, si immuable liste est une bonne supposition.
AdventureLobbies.players
.Je seconde @KirkWoll de la suggestion. Je ne serais pas surpris si
AdventureLobbies.players
est une liste immuable, ce qui aurait été retourné à partir de Collections.unmodifiableList ou d'une autre méthode qui accomplit la même chose.D'accord avec les deux précédents commentaires - sans nous connaître le type de l'objet (c'est pourquoi nous avons besoin de voir la déclaration, ou l'appel de la méthode où vous avez obtenu cette liste), il est difficile de savoir pourquoi exactement pourquoi ce qui se passe, si immuable liste est une bonne supposition.
AdventureLobbies.players = Arrays.asList(rs.getString("players").toLowerCase().split(","));
OriginalL'auteur Gray Adams | 2012-04-08
Vous devez vous connecter pour publier un commentaire.
Tableaux.asList() vous donnera un retour d'une inmodifiable liste, et c'est pourquoi votre ajouter, c'est un échec. Essayez de créer la liste:
OriginalL'auteur John Farrelly
La java docs dire
asList
@SafeVarargs
public static <T> List<T> asList(T... a)
"Retourne une taille fixe la liste soutenue par le tableau spécifié"
Votre liste est de taille fixe, le sens qu'il ne peut pas augmenter ou de réduire, ainsi, lorsque vous appelez ajouter, il déclenche une opération non prise en charge exception
OriginalL'auteur user12345613
Cette exception est très familier avec l'accès à des objets qui ne permettront pas l'accès selon le langage java comme un accès à des objets immuables, pour cette raison, l'instanciation de la manière suivante à la place:
OriginalL'auteur GingerHead