6
votes

Java Ajout de la chaîne à un tableau à chaîne

Bonjour, j'ai essayé d'ajouter une chaîne à une chaîne [] . Voici ce que j'ai, xxx

mais, je continue à obtenir java.lang.arrayindexoutofboundsException car il ne me laissera pas faire de nouvelle chaîne s. Je ne peux pas modifier ma déclaration de iplist [] sans beaucoup de modifications, que puis-je faire?


1 commentaires

Les tableaux ont une taille fixe. Vous avez besoin de créer un nouveau tableau à la nouvelle taille et de copier tout sur celui-ci ou d'utiliser une arrayliste , ce qui fait essentiellement cela


3 Réponses :


10
votes

Les matrices Java sont d'une longueur fixe ( JLS-10.3. Création du tableau dit, en partie, la longueur de la matrice est disponible sous forme de variable de variable d'instance longueur ) . Mais vous pouvez utiliser Arrays.copyof (t [], int) Pour copier le tableau et en faire un plus longtemps. À titre d'exemple, quelque chose comme, xxx

sortie est xxx


3 commentaires

Une autre bonne option. 1+


Merci que j'ai résolu mon problème! Savez-vous que vous ne captiez que de capturer seulement 1 entrée de Actionperformed? Il continue de le faire dupliquer plusieurs fois?


Supprimer la boucle. Vous voulez seulement l'ajouter une fois.



7
votes

Que pensez-vous arrivera ici: xxx

lorsque i == main.iplist.longueur - 1 , et vous essayez d'accéder à principal .iPlist [i + 1] quel est égal à main.IPList [principale.iplist.length] ? Ceci est garanti de jeter l'exception que vous voyez.

Vous indiquez:

"Je ne peux pas vraiment changer de déclaration d'iplist [] ou cela gâcherait tout mon projet."

Parfois, il y a des moments où il suffit de faire le plongeon et de tout gâcher, et cela semble être l'un d'entre eux. Si vous avez besoin d'une matrice extensible, n'utilisez pas de tableau, mais plutôt une arraylist .


0 commentaires

0
votes

Vous venez également d'utiliser un ArrayList à partir du package JAVA.UTIL ! Celles-ci sont de longueur variable et donc non immutables de longueur comme une chaîne [] est. En outre, ils le font "à la volée" lorsque vous ajoutez ou supprimez quelque chose.


0 commentaires