GOOGLE ADS

sábado, 16 de abril de 2022

¿Cómo verificar si una variable tiene algún valor en la condición if?

Estaba trabajando en un problema y quería saber cómo podemos verificar si una variable tiene algún valor dentro de la condición if en Java. Como en JavaScript, si simplemente hacemos como

código JavaScript

let amount;
let discount;
if(amount){
discount=10;
}

Simplemente puedo verificar aquí si la cantidad tiene un valor o no en JavaScript.

Este es el código en el que necesito ayuda:

caso: si quiero comprobar si una variable tiene un valor en ella?

class Shop {
private double amount;
private int discount;
public int getDiscount(){
if(amount){ // err: cannot convert double to bool
this.discount=10;
}
else{
this.discount=0;
}
return this.discount;
}
public static void main(String[] args) {
Shop s1= new Shop s2;
System.out.println("Discount="+ s1.getDiscount());
}


Solución del problema

Java no tiene undefinedy nullcomo tiene Javascript. Java solo tiene nullvalor.

En las variables primitivas de Java, como doublecuando se usan como campos en alguna clase, se inicializan a su valor predeterminado (el doble usa el valor predeterminado 0.0) si no proporciona ningún valor inicial.

Pero si usa el objeto envuelto relativo Doublecomo campo de clase, no se inicializará en el valor predeterminado ( 0.0), sino en null.

Entonces puede usar el objeto envuelto Doubley verificar si es null, ya que esto sucederá cuando no se asigne ningún valor a ese campo.

 class Shop {
private Double amount;
private int discount;

public int getDiscount(){
if(amount == null){
this.discount=10;
}

No hay comentarios.:

Publicar un comentario

Flutter: error de rango al acceder a la respuesta JSON

Estoy accediendo a una respuesta JSON con la siguiente estructura. { "fullName": "FirstName LastName", "listings...