Atribuir valor null para boolean RESOLVIDO  XML
Índice dos Fóruns » Java Básico
Autor Mensagem
marciot2
Entusiasta Java
[Avatar]

Membro desde: 25/11/2007 17:19:52
Mensagens: 15
Localização: Araçatuba
Offline

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

This message was edited 1 time. Last update was at 22/07/2010 15:45:33


OCJP 6.0 - Oracle Certified Java Programmer
[MSN]
entanglement
GUJ Hacker

Membro desde: 26/09/2009 09:18:56
Mensagens: 5750
Offline

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

santos.levi
JavaTeenager

Membro desde: 19/05/2008 16:27:01
Mensagens: 192
Offline

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!!!!
[MSN]
jonathan.rodrigues
Smalltalk
[Avatar]

Membro desde: 21/05/2010 21:07:45
Mensagens: 3
Offline

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ê só ira atribuir true caso a pessoa ou o atendimento seja fumante.
Caso isso que eu te falei não dê certo passe qual o objetivo. Variáveis do tipo boolean em JAVA só aceitam true ou false.

Espero ter ajudado....
[MSN]
guisantogui
GUJ Master

Membro desde: 24/06/2009 09:45:26
Mensagens: 1043
Localização: Porto Alegre
Offline

Você quer algo do tipo:

- Fumante
- Não fumante
- Não informado

Sim??

Se for isso, vc poderá usar enun's

enum fumante

SIM, NAO, NAO_INFORMADO;

Easy
=D

This message was edited 1 time. Last update was at 22/07/2010 11:55:50


Estudante de Sistemas de Informação

http://www.twitter.com/guisantogui
[Email] [MSN]
marciot2
Entusiasta Java
[Avatar]

Membro desde: 25/11/2007 17:19:52
Mensagens: 15
Localização: Araçatuba
Offline

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

This message was edited 1 time. Last update was at 22/07/2010 12:15:13


OCJP 6.0 - Oracle Certified Java Programmer
[MSN]
marciot2
Entusiasta Java
[Avatar]

Membro desde: 25/11/2007 17:19:52
Mensagens: 15
Localização: Araçatuba
Offline

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

OCJP 6.0 - Oracle Certified Java Programmer
[MSN]
LucasRey
Debugger
[Avatar]

Membro desde: 22/08/2008 10:29:06
Mensagens: 53
Offline

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

"A verdadeira batalha começa quando você acha que não dá mais." By Mestra Genkai.
Anime: YuYu Hakusho
[Email]
pmlm
GUJ Master

Membro desde: 20/04/2009 12:20:07
Mensagens: 1201
Localização: Portugal
Offline

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
Smalltalk
[Avatar]

Membro desde: 21/05/2010 21:07:45
Mensagens: 3
Offline

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.



[MSN]
guisantogui
GUJ Master

Membro desde: 24/06/2009 09:45:26
Mensagens: 1043
Localização: Porto Alegre
Offline

jonathan.rodrigues wrote: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

Estudante de Sistemas de Informação

http://www.twitter.com/guisantogui
[Email] [MSN]
marciot2
Entusiasta Java
[Avatar]

Membro desde: 25/11/2007 17:19:52
Mensagens: 15
Localização: Araçatuba
Offline

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;
}

}

}


OCJP 6.0 - Oracle Certified Java Programmer
[MSN]
 
Índice dos Fóruns » Java Básico
Ir para:   
Powered by JForum 2.1.8 © JForum Team