Search code examples
androidobjectvoidupdating

Android pass object not its value


How can I update String object from void?
Now it gives me an error: The final local variable sObj cannot be assigned, since it is defined in an enclosing type.

String object = "";
String object2 = "";
String object3 = "";
String object4 = "";
String object5 = "";

digitInput(object); //update string object
digitInput(object4); // update string object4


private void digitInput(final String sObj) {
      ....
      sObj = NEW_VALUE; //With this I want to update passed object
      ....
}

Solution

  • It seems like you are trying to reassign the value of the object using the function. The approach you are taking is strange. I would do it like:

    String object = "";
    String object2 = "";
    String object3 = "";
    String object4 = "";
    String object5 = "";
    
    object = digitInput(object); //update string object
    object4 = digitInput(object4); // update string object4
    
    // assuming you need the original object to generate the new value
    private String digitInput(String sObj) {
          ....
          // do something
          ....
          return NEW_VALUE; //With this I want to update passed object
    }