Foro de elhacker.net

Programación => Java => Mensaje iniciado por: JonaLamper en 6 Noviembre 2016, 13:41 pm



Título: Duda en una condición if
Publicado por: JonaLamper en 6 Noviembre 2016, 13:41 pm
Buenas, alguien me podría confirmar si esto:

Código
  1. return this.name + (name.getValueArg() > 0 ? (" " + param) : "");

es lo mismo que esto:

Código
  1. if(this.name + (name.getValueArg() > 0))
  2. return " " + param;
  3. else
  4. return "";

Muchas gracias  ;D


Título: Re: Duda en una condición if
Publicado por: ivancea96 en 6 Noviembre 2016, 15:17 pm
No. Fíjate en los paréntesis.

El operador ternario ?: está entre paréntesis. El retorno será "this.name" + (el resultado del operador ternario)

Código
  1. // return this.name + (name.getValueArg() > 0 ? (" " + param) : "");
  2.  
  3. if(name.getValueArg() > 0)
  4.    return this.name + " " + param;
  5. else
  6.    return this.name;