| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 01/10/2009 15:48:35
|
cmendes
JavaEvangelist
Membro desde: 01/02/2007 16:36:12
Mensagens: 309
Offline
|
Olá boa tarde. Tenho o código:
public void adiciona (Objeto objeto){
Este "on" vem de um checkbox e funciona perfeitamente qdo o checkbox está marcado. Porém qdo o checkbox não está marcado dá erro de NullPointException porque neste caso a variável está realmente com null. Como então eu resolvo este problema, ou seja, comparar uma String que pode ter valor null?
Grato, Carlos.
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 01/10/2009 15:50:29
|
thokk
Virtual Machine Man
![[Avatar]](/images/avatar/1a3d6a5affbc4a3a84214366730c4a80.jpg)
Membro desde: 18/10/2006 17:04:08
Mensagens: 521
Offline
|
|
Na vida temos um dia único e feliz. Este dia foi quando conheci minha esposa!!!! |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 01/10/2009 16:00:03
|
criador
JavaEvangelist
![[Avatar]](/images/avatar/8400f4bb39c965a224d92b60241a2aa0.jpg)
Membro desde: 26/05/2008 09:36:00
Mensagens: 332
Offline
|
Você também pode fazer da seguinte forma:
Abraço!
|
"O Nerd de hoje é o cara rico de amanhã!". Pense nisso!!! |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 01/10/2009 16:24:58
|
thiago.correa
GUJ Master
![[Avatar]](/images/avatar/c37f9e1283cbd4a6edfd778fc8b1c652.jpg)
Membro desde: 26/03/2006 18:54:30
Mensagens: 1861
Offline
|
thokk wrote:
Em ambos os casos se o objeto for nulo rola uma NPE neste caso, o melhor seria
Tem a classe StringUtils do commons-lang que possui vários métodos utilitários vale a pena dar uma lida na API
|
---
"Se não puder ajudar, atrapalhe, afinal de contas o importante é participar!"
Thiago
 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 01/10/2009 16:40:54
|
thiago_spdvr
JavaTeenager
![[Avatar]](/images/avatar/348f4f99e418c9e60d5d13fc52a76dea.jpg)
Membro desde: 18/12/2008 21:42:14
Mensagens: 179
Offline
|
ja pensou em usar o metodo .isEmpty pra verificar se a string está vazia ? ou não seria isso ?
|
Licenciado em Computação |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 01/10/2009 16:45:41
|
thokk
Virtual Machine Man
![[Avatar]](/images/avatar/1a3d6a5affbc4a3a84214366730c4a80.jpg)
Membro desde: 18/10/2006 17:04:08
Mensagens: 521
Offline
|
thiago_spdvr wrote:ja pensou em usar o metodo .isEmpty pra verificar se a string está vazia ? ou não seria isso ?
Creio que ele só verifica se a String esta vazia, mas não como null. Caso queira ver se ela é vazio o padrão é realmente usar o isEmpty(), é melhor que usar utilizando "", mas usar "" tbm não esta arrado.
|
Na vida temos um dia único e feliz. Este dia foi quando conheci minha esposa!!!! |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 01/10/2009 16:56:28
|
lina
Moderador
![[Avatar]](/images/avatar/8849f0a976aa5332853e848655a1d28f.jpg)
Membro desde: 23/12/2006 21:05:04
Mensagens: 3083
Offline
|
thokk wrote:
thiago_spdvr wrote:ja pensou em usar o metodo .isEmpty pra verificar se a string está vazia ? ou não seria isso ?
Creio que ele só verifica se a String esta vazia, mas não como null. Caso queira ver se ela é vazio o padrão é realmente usar o isEmpty(), é melhor que usar utilizando "", mas usar "" tbm não esta arrado.
Oi, Não está errado, porém utilizar equals para comparar se uma String esta vazia, é um processo muito demorado. O processo equals faz 3 verificações: 1- Compares this string to the specified object. The result is {@code true} 2- if and only if the argument is not {@code null} 3- is a {@code* String} object that represents the same sequence of characters as this object. Já o isEmpty já sabe que irá comparar uma String e faz o processo diretamente. Tchauzin!
This message was edited 1 time. Last update was at 01/10/2009 16:56:48
|
Você é novo no GUJ? Vai criar um tópico e colar seu código-fonte? Leia aqui antes, por favor!
http://www.guj.com.br/posts/list/50115.java
Se o seu tópico foi respondido e você está satisfeito, segue:
- Pressione o botão <Edit> de seu primeiro post
- Acrescente no final do título a tag [RESOLVIDO]
@gujgirl
http://www.restartfans.hdfree.com.br
Meu blog:
http://www.runthecode.wordpress.com
Tchauzin! |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 01/10/2009 17:19:46
|
eltonads
JavaBaby
![[Avatar]](/images/avatar/cf89702a056d65990a0e8787f65c813c.jpg)
Membro desde: 02/02/2009 09:19:11
Mensagens: 81
Offline
|
Você pode usar algo assim:
Desse modo, se objeto.valor() for null ou diferente de "on" vai retornar falso no if de qualquer jeito.
Att.,
--
|
Elton A. dos Santos
Analista / Desenvolvedor de Sistemas Java
Certificado SCJP/SCWCD
Softplan/Poligraph |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 01/10/2009 17:24:33
|
lina
Moderador
![[Avatar]](/images/avatar/8849f0a976aa5332853e848655a1d28f.jpg)
Membro desde: 23/12/2006 21:05:04
Mensagens: 3083
Offline
|
eltonads wrote:Você pode usar algo assim:
Desse modo, se objeto.valor() for null ou diferente de "on" vai retornar falso no if de qualquer jeito.
Att.,
--
Oi,
E... se a variavel objeto for null ?
Tchauzin!
|
Você é novo no GUJ? Vai criar um tópico e colar seu código-fonte? Leia aqui antes, por favor!
http://www.guj.com.br/posts/list/50115.java
Se o seu tópico foi respondido e você está satisfeito, segue:
- Pressione o botão <Edit> de seu primeiro post
- Acrescente no final do título a tag [RESOLVIDO]
@gujgirl
http://www.restartfans.hdfree.com.br
Meu blog:
http://www.runthecode.wordpress.com
Tchauzin! |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 01/10/2009 17:30:22
|
eltonads
JavaBaby
![[Avatar]](/images/avatar/cf89702a056d65990a0e8787f65c813c.jpg)
Membro desde: 02/02/2009 09:19:11
Mensagens: 81
Offline
|
Foi mal.. achei que o problema era só quando objeto.valor() retornasse null...
Nesse caso só um if a mais mesmo e deu... nao tem muito jeito né?!
Att.,
--
|
Elton A. dos Santos
Analista / Desenvolvedor de Sistemas Java
Certificado SCJP/SCWCD
Softplan/Poligraph |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 01/10/2009 17:41:44
|
romarcio
JWizard
![[Avatar]](/images/avatar/0dc800465c816add16e0b6d63be91f49.jpg)
Membro desde: 17/12/2008 10:05:49
Mensagens: 2434
Localização: Santa Maria/RS
Offline
|
lina wrote:
thokk wrote:
thiago_spdvr wrote:ja pensou em usar o metodo .isEmpty pra verificar se a string está vazia ? ou não seria isso ?
Creio que ele só verifica se a String esta vazia, mas não como null. Caso queira ver se ela é vazio o padrão é realmente usar o isEmpty(), é melhor que usar utilizando "", mas usar "" tbm não esta arrado.
Oi,
Não está errado, porém utilizar equals para comparar se uma String esta vazia, é um processo muito demorado.
O processo equals faz 3 verificações:
1- Compares this string to the specified object. The result is {@code true}
2- if and only if the argument is not {@code null}
3- is a {@code* String} object that represents the same sequence of characters as this object.
Já o isEmpty já sabe que irá comparar uma String e faz o processo diretamente.
Tchauzin!
Interessante isso que a Lina postou, eu particularmente não sabia como o equals executava essa comparação. Mas geralmente se vamos testar se um objeto é null, se usa o isEmpty, isso aprendia ainda no PHP, hehe.
Mas parece que já resolveu seu problema sem isso, mas vale o teste.
|
Bacharel em Sistemas de Informação.
Oracle Certified Professional, Java SE 6 Programmer
Blog | Facebook | Twitter |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 01/10/2009 17:43:00
|
garcia-jj
JWizard
Membro desde: 13/04/2009 22:11:50
Mensagens: 2715
Localização: Porto Alegre
Offline
|
lina wrote:
Oi,
Não está errado, porém utilizar equals para comparar se uma String esta vazia, é um processo muito demorado.
O processo equals faz 3 verificações:
1- Compares this string to the specified object. The result is {@code true}
2- if and only if the argument is not {@code null}
3- is a {@code* String} object that represents the same sequence of characters as this object.
Já o isEmpty já sabe que irá comparar uma String e faz o processo diretamente.
Tchauzin!
Lina, você não tem noção o quanto eu brigo quando vejo programador fazendo comparação com equals(""). Além de feio você faz essas verificações denecessárias enquanto o length() == 0 faz o mesmo trabalho. Aliás a implementação String.isEmpty() (pós Java 6) usa length == 0.
Abraços
|
http://github.com/garcia-jj
Não respondo dúvidas via MP. Use o fórum. |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 01/10/2009 17:59:21
|
Vini Fernandes
Virtual Machine Man
![[Avatar]](/images/avatar/84cd1f88d088c3a15254f37a22f6e5d6.jpg)
Membro desde: 20/01/2009 08:43:02
Mensagens: 523
Offline
|
Ola cmendes, acredito que esse NullPointer nao seja pelo fato que seu checkbox nao tenha sido checado, mas sim porque objeto.valor() esteja nulo. Por exemplo, nao tem problema algum fazer a seguinte comparacao
pois teremos como retorno "false", já que toda implementacao de equals deve retornar "false" quando o parametro esteja nulo. Sendo assim, recomendo voce fazer o seguinte:
Agora seu cogido esta protegido contra qualquer NullPointerException.....rsrs
Ate mais
This message was edited 1 time. Last update was at 01/10/2009 18:00:28
|
What do you know about Java? Help me! |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 01/10/2009 18:06:04
|
garcia-jj
JWizard
Membro desde: 13/04/2009 22:11:50
Mensagens: 2715
Localização: Porto Alegre
Offline
|
Vini Fernandes wrote:
Agora seu cogido esta protegido contra qualquer NullPointerException.....rsrs
Ate mais
Não, se objeto for null, dá null-pointer. O correto seria:
|
http://github.com/garcia-jj
Não respondo dúvidas via MP. Use o fórum. |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 01/10/2009 21:31:33
|
marcobiscaro2112
JWizard
Membro desde: 01/12/2008 11:56:04
Mensagens: 2408
Localização: São Paulo - SP
Offline
|
Um NullPointerException ocorre quando chamamos um método a partir de uma referência a 'null'. Por exemplo:
No caso, verificamos se a variável objeto é diferente de 'null' e se for, podemos chamar o método:
Podemos fazer isso tranquilamente, pois chamamos o método 'equals' da String "on", que nunca será 'null'. E como sabemos que 'objeto' é diferente de 'null', podemos chamar seu método sem problemas.
Mesmo que o método 'objeto.valor()' retorne 'null', nesse caso, não haverá NullPointerException.
Logo, o código está correto:
|
Marco Biscaro.
Seja livre!
Você sabia que provavelmente há milhares de arquivos duplicados no seu computador?
Ei... você está usando DefaultTableModel no seu projeto?? Não faça isso! Veja: http://www.guj.com.br/posts/list/15/199067.java#1001295 |
|
|
 |
|
|