Atribuir valor null para boolean RESOLVIDO

11 respostas
marciot2

Pessoal seguinte: tenho uma Classe Atendimento com um campo fumante como boolean, e uma classe AtedimentoBussiness onde verifica as regras de negocio

public class Atendimento{

private boolean fumante;

           //metodos getter e setter

}

public class AtendimentoBusiness{

public Atendimento incluir(Atendimento atendimento){

                 //Nao consigo realizar esse teste pois o valor é boolean
                       if (atendimento.isfumante == null){

                         atendimento.setfumante = false;
                       }

            }

}

Erro: the == operator is undefined for the argument type boolean

11 Respostas

E

boolean != Boolean
boolean aceita true e false.
Boolean aceita Boolean.TRUE, Boolean.FALSE e null.

S

Por default os atributos primitivos como int double etc são inicializados com 0, e os atributos do tipo boolean é inicializado com false, nesse caso do seu if ele nunca será null!!!

jonathan.rodrigues

Olá Marcio…

Vou tentar te ajudar com a lógica. Porque você não deixa essa variável fumante inicializado como false. Neste caso no seu formulário ou sei la aonde você irá utilizar, você  ira atribuir true caso a pessoa ou o  atendimento seja  fumante. 
    Caso isso que eu te falei não  certo passe qual o objetivo. Variáveis do tipo boolean em JAVA   aceitam true ou false.

                                        Espero ter ajudado....
guisantogui

Você quer algo do tipo:

  • Fumante
  • Não fumante
  • Não informado

Sim?? :wink:

Se for isso, vc poderá usar enun’s

enum fumante

SIM, NAO, NAO_INFORMADO;

Easy
=D

marciot2

Então pessoal, estou tentando implementar com a ideia do entanglement, mais não consegui ainda, conseguindo mando a solucao, no projeto a varialvel fumante precisa realmente ser boolean

marciot2

Então pessoal, estou tentando implementar com a ideia do entanglement, mais não consegui ainda, conseguindo mando a solucao, no projeto a varialvel fumante precisa realmente ser boolean

LucasRey

Não há um método isNull() ou isEmpty() que represente isso que vc quer?
Desculpe-me se estou falando bobeira.

pmlm

O que tu queres fazer, colocar a false se for null já é feito automaticamente quando crias a variavel. Um boolean nunca é null, é logo false na criação.

Assim, podes retirar as duas linhas do if sem qualquer problema

jonathan.rodrigues

Marcio,

Se você for usar Boolean entenda que ele não é um tipo primitivo e sim um objeto. Se você não der new Boolean na variável ela será null, ou seja, você criou apenas uma referência daquele tipo e não um objeto. Sendo assim você tem que analisar o problema para conseguir usar essa solução, mas eu aconselho você a utilizar a variável como tipo primitivo boolean.
guisantogui

jonathan.rodrigues:
Marcio,
Se você for usar Boolean entenda que ele não é um tipo primitivo e sim um objeto. Se você não der new Boolean na variável ela será null, ou seja, você criou apenas uma referência daquele tipo e não um objeto. Sendo assim você tem que analisar o problema para conseguir usar essa solução, mas eu aconselho você a utilizar a variável como tipo primitivo boolean.

Apoiado :thumbup:

marciot2

public class Atendimento{

//antes

//private boolean fumante;

//depois

private Boolean fumante;

//metodos getter e setter

}

public class AtendimentoBusiness{

public Atendimento incluir(Atendimento atendimento){

atendimento.setfumante(null);

if (atendimento.isfumante == null){

atendimento.setfumante = false;
}

}

}

Criado 22 de julho de 2010
Ultima resposta 22 de jul. de 2010
Respostas 11
Participantes 7