Je travaille sur un programme dans lequel je recompose les widgets sauvegardés sur le panneau frontalier. Quand je les crée, j'essaye aussi de placer les valeurs dans ArrayList de sorte que si je veux mettre à jour et enregistrer le projet ouvert je devrais pouvoir faire ainsi en obtenant les valeurs de l'ArrayList.Erreur hors limite d'index
Voici comment le code ressemble à:
for(int i = 0; i < result.length; i++){
if(ename.contains(result[i].getParticipateEntityName())){
ername.add(ename.indexOf(result[i].getParticipateEntityName()), result[i].getParticipateRelatioshipName());
etotalpartial.add(ename.indexOf(result[i].getParticipateEntityName()), result[i].getTotalPartial());
}else if(wename.contains(result[i].getParticipateEntityName())){
wrname.add(wename.indexOf(result[i].getParticipateEntityName()), result[i].getParticipateRelatioshipName());
}
}
Ici Ename, RÉNOM, etotalpartial, wename et wrname sont tous ArrayList. Ce morceau de code est inclus dans une méthode de classe asynchrone.
Quand je lance le code i get erreur à "ername.add (Ename ......"
Voici la pile d'erreur:.
java.lang.IndexOutOfBoundsException: Index: 1, Size: 0
at java.util.ArrayList.add(ArrayList.java:367)
at com.e.r.d.client.ERD1$16.onSuccess(ERD1.java:898)
at com.e.r.d.client.ERD1$16.onSuccess(ERD1.java:1)
at com.google.gwt.user.client.rpc.impl.RequestCallbackAdapter.onResponseReceived(RequestCallbackAdapter.java:216)
at com.google.gwt.http.client.Request.fireOnResponseReceived(Request.java:287)
at com.google.gwt.http.client.RequestBuilder$1.onReadyStateChange(RequestBuilder.java:393)
at sun.reflect.GeneratedMethodAccessor16.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.google.gwt.dev.shell.MethodAdaptor.invoke(MethodAdaptor.java:103)
at com.google.gwt.dev.shell.MethodDispatch.invoke(MethodDispatch.java:71)
at com.google.gwt.dev.shell.OophmSessionHandler.invoke(OophmSessionHandler.java:157)
at com.google.gwt.dev.shell.BrowserChannel.reactToMessagesWhileWaitingForReturn(BrowserChannel.java:1713)
at com.google.gwt.dev.shell.BrowserChannelServer.invokeJavascript(BrowserChannelServer.java:165)
at com.google.gwt.dev.shell.ModuleSpaceOOPHM.doInvoke(ModuleSpaceOOPHM.java:120)
at com.google.gwt.dev.shell.ModuleSpace.invokeNative(ModuleSpace.java:507)
at com.google.gwt.dev.shell.ModuleSpace.invokeNativeObject(ModuleSpace.java:264)
at com.google.gwt.dev.shell.JavaScriptHost.invokeNativeObject(JavaScriptHost.java:91)
at com.google.gwt.core.client.impl.Impl.apply(Impl.java)
at com.google.gwt.core.client.impl.Impl.entry0(Impl.java:188)
at sun.reflect.GeneratedMethodAccessor9.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.google.gwt.dev.shell.MethodAdaptor.invoke(MethodAdaptor.java:103)
at com.google.gwt.dev.shell.MethodDispatch.invoke(MethodDispatch.java:71)
at com.google.gwt.dev.shell.OophmSessionHandler.invoke(OophmSessionHandler.java:157)
at com.google.gwt.dev.shell.BrowserChannel.reactToMessages(BrowserChannel.java:1668)
at com.google.gwt.dev.shell.BrowserChannelServer.processConnection(BrowserChannelServer.java:401)
at com.google.gwt.dev.shell.BrowserChannelServer.run(BrowserChannelServer.java:222)
at java.lang.Thread.run(Thread.java:619)
Je ne sais pas ce que je je fais mal.
Toute entrée sera d'une grande aide.
Merci.
est-il moyen de contourner cela parce que je veux que la valeur ename et la valeur de nom d'utilisateur correspondent les uns aux autres en termes d'index? Merci. – suprasad
Vous pouvez utiliser 'Map' à la place, la clé étant' index', et la valeur 'ename'. –
Ou vous pouvez utiliser un tableau initialisé à la capacité nécessaire. – Bluu