Soy nuevo en Java y me he encontrado con un problema que espero me ayudéis a solucionar. Pretendo lanzar una aplicación, utilizando argumentos desde la linea de comandos, por ejemplo, para una aplicación llamada prueba1:
“java prueba1 opcion1” o bien “java prueba1 opcion2” y de esta forma se ejecuten las opciones programadas. He comenzado compilando este código:
class prueba1{
public static void main(String[] args){
if (args[0] == "opcion1" ){
System.out.println("Seleccionada opcion 1");
}else if (args[0] == "opcion2"){
System.out.println("Seleccionada opcion 2");
}else{
System.out.println("Opcion no reconocida");
}
}
}
El código se ha compilado sin problemas, pero con la siguiente llamada:
java prueba1 opcion1
se produce la siguiente salida:
Opcion no reconocida
Lo mismo ocurre con:
java prueba1 opcion2
Opcion no reconocida
Por mera comprobación he introducido una nueva linea en el codigo:
class prueba1{
public static void main(String[] args){
System.out.println("Opcion elegida = " + args[0]);
if (args[0] == "opcion1" ){
System.out.println("Seleccionada opcion 1");
}else if (args[0] == "opcion2"){
System.out.println("Seleccionada opcion 2");
}else{
System.out.println("Opcion no reconocida");
}
}
}
El resultado es el siguiente:
java prueba1 opcion1
Opcion elegida = opcion1
Opcion no reconocida
Creo que mi intención esta clara, reconocer el argumento de la linea de comandos comparando el String de entrada y obrar en consecuencia ¿porque no funciona? ¿como habría que hacerlo?
Saludos y gracias por anticipado