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 undefined
y null
como tiene Javascript. Java solo tiene null
valor.
En las variables primitivas de Java, como double
cuando 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 Double
como campo de clase, no se inicializará en el valor predeterminado ( 0.0
), sino en null
.
Entonces puede usar el objeto envuelto Double
y 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