How can I avoid using of FINAL? (java) -


i've got next error: cannot refer non-final variable inside inner class defined in different method.

i don't want use final arraylist, because have set modify things.

for (int = 0; < verord.size()-1; i++) {     final int p = i;     instruccion  = new jlabel("instrucción de orden "+verord.get(i).getnumorden());     statusins.add(no);     statusins.add(ok);     ventana.add(instruccion);     ventana.add(no);     ventana.add(ok);     ventana.add(sig2);      int = 0;      sig2.addactionlistener(new actionlistener()     {         public void actionperformed(actionevent arg0) {              if (ok.isselected())              {                 verord.get(p).setstatus("finalizada");              }                                            }      }); } (int = 0; < verord.size()-1; i++) {     final int p = i;      instruccion  = new jlabel("instrucción de orden "+verord.get(i).getnumorden());     statusins.add(no);     statusins.add(ok);     ventana.add(instruccion);     ventana.add(no);     ventana.add(ok);     ventana.add(sig2);      int = 0;        sig2.addactionlistener(new actionlistener()     {         public void actionperformed(actionevent arg0) {              if (ok.isselected())              {                 verord.get(p).setstatus("finalizada");              }                                            }      }); } 

you can make arraylist "final" , continue add/remove things in arraylist.

only thing can't do, assign arraylist variable else.

example:

final arraylist list1 = new arraylist(); // allowed: list1.add(new object()); // not: list1 = some_other_list; 

Comments