Buongiorno ,
Vorrei sostituire il mio switch case con qualcosa di oop.
Leggendo e rileggendo sono arrivato a sostituirlo con una hashmap dove ogni valore è rappresentato da una CallBack.
NetBeans ha fatto la sua parte è ha "complicato" le cose suggerendomi di trasformare tutta l'espressione in una Lambda , cosa che per me è ancora lontano da affrontare. Sembra una cosa complicata.
La domanda è : Come faccio in main a leggere il valore di "val" ?
public class Command {
private final HashMap<String, Callback> cmd = new HashMap<>();
public void add (String name){ // Aggiungo un comando
cmd.put(name, (Callback) (String val) -> {
val ="Esempio di commando: Stringa aggiornata";
System.out.println( val );
return val; //<<<--- dove "va a finire" questo val ?
});
}
}
public interface Callback {
public String value (String value);
}
public class Main {
private static Command command;
public static void main(String[] args) {
command = new Command();
command.add("User"); //Creo il comando "User".
}
}