Correção: o primeiro comando está certo, o segundo NÃO. Na verdade, ambos estão léxica e sintaticamente corretos, mas no segundo comando vai ocorrer uma NullPointerException, caso a variável "valor" seja null. Nessa situação, ele vai avaliar a primeira condição (valor != null), que vai ser falsa, então vai avaliar a segunda expressão (!valor.equals("")), para confirmar a falsidade da conjunção. Nessa avaliação ele chamará o método equals de um objeto que é null, o que ocasionará, em tempo de execução, um lançamento de exceção por ponteiro nulo...

 

Rosfran Lins Borges

Analista de Sistemas - NSV

[EMAIL PROTECTED]

Fóton® Informática e Serviços

Fone: (61) 3031 5060 R.: 5037

 

-----Mensagem original-----
De: Jonatan Schroeder [mailto:[EMAIL PROTECTED]]
Enviada em: segunda-feira, 14 de outubro de 2002 15:30
Para: [EMAIL PROTECTED]
Assunto: Re: RES: [java-list] JSP String !=

 

Uma correção: a segunda condição seria testada apenas se utilizasse o operador '|' e não com o '||'.

 

Os dois comandos estão corretos.

retorno =(valor ==null || valor.equals("")) ?"Sim" : "Não";

retorno =(valor !=null || !valor.equals("") )? "Não" : "Sim";


---
Jonatan Schroeder
[EMAIL PROTECTED]

 

 

----- Original Message -----

Sent: Monday, October 14, 2002 12:55 PM

Subject: Re: RES: [java-list] JSP String !=

 

Pessoal, so uma correção!
     Se vc testar != null no operador OR ele vai testar a segunda
condição  trazendo assim um erro
de java.lang.NullPointerException, vc nao quer que seja nem nulo nem
vazio o ideal seria testar se
valor== nulo, entao a segunda condição nem seria testada!

Exemplo:

     String valor = null;
     String retorno = "";
     retorno =(valor ==null || valor.equals("")) ?"Sim" : "Não";
     System.out.println(retorno );

// Se valor for nulo esta instrução da um erro!!!!

      retorno =(valor !=null || !valor.equals("") )? "Não" : "Sim";
     System.out.println(retorno );
    


Jose Ferreira de Souza Filho wrote:

> José Vieira,

>                 vc deve comparar != null e não !="null", pq se vc
> coloca entre aspas vc está vendo se sua variável é diferente da String
> null e na verdade não se é diferente de null...

> Vc poderia fazer da seguinte forma tb:

> String v_nome     = request.getParameter("v_nome");
>   
> int v_total =  v_nome!=null || !v_nome.equals("") ? 50 : 0;

> Acima vai ser feito o seguinte:

> Se v_nome for diferente de null ou diferente de "" a variável v_total=50
> senão ele recbe 0.
> <http://www.politec.com.br/>
> José Ferreira de Souza Filho
> Sun Certified Programmer for Java[tm] 2 Platform
> Politec Informática
> email : [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>

>
>     -----Mensagem original-----
>     De: José Vieira [mailto:[EMAIL PROTECTED]]
>     Enviada em: segunda-feira, 14 de outubro de 2002 09:50
>     Para: [EMAIL PROTECTED]
>     Assunto: [java-list] JSP String !=
>
>       Olha Pessoal tenho uma String e gostaria de verificar se esta
>     variavel é diferente de null, estou testando com um IF porem não
>     estar funcionando, alguem poderia me ajudar?
>     
>         String v_nome     = request.getParameter("v_nome");
>         int v_total = 0;
>         if (v_nome != "null")
>            {
>              v_total    = 50;
>            }
>     
>        if (v_nome != "")
>            {
>              v_total    = 50;
>            }
>     
>     
>     
>     Grato
>     
>     José
>

Responder a