Got a quick question which I hope someone can answer. Basically I have a String variable which needs changing based upon the value in a combo box which has an event listener attached to it. However if I make the string final then it cant be changed, but if i don't make it final then eclipse moans that it isn't final. Whats the best (and simplest) work around?
Code is as follows
final String dialogOutCome = "";
//create a listener for the combo box
Listener selection = new Listener() {
    public void handleEvent(Event event) {
    //get the value from the combo box
    String comboVal = combo.getText();
    switch (comboVal) {
         case "A": dialogOutCome = "a";
         case "B": dialogOutCome = "b";
         case "C": dialogOutCome = "c";
         case "D": dialogOutCome = "d";
    }
   }
};
                You can't.
Consider this:
So what should happen when the method returned already and the listener tries to modify the local variable?
Because this question does not have a really good answer, they decided to make that scenario impossible by not allowing access to non-final local variables.
There are two ways around this problem:
final local variable, of which you can change the content (for example a List or a String[] with a single element).If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With