seguinte…
eu tenho o código[estou na escola agora]:
[code]<%
String nome = (String) request.getParameter(“tNome”);
String nulo = “null”;
if (nome == nulo ){
throw new exception …
}
%>[/code]
a questão é, por default , se não tem o parametro tNome… ele é null…
logo o teste deveria ser verdadeiro…
um outro problema… ainda com o request.getParameter() foi quando resolvi fazer uma calculadora…
nos testes condiçoes tem…
if (op == "+"){
...
}
… a questão é que, sobre circunstância alguma ele executa isso…
que tipo de erro é esse?
será que é questão de tipo de dados?
será que tem algum problema comparar strings?
[quote=proteus_adi]seguinte…
eu tenho o código[estou na escola agora]:
[code]<%
String nome = (String) request.getParameter(“tNome”);
String nulo = “null”;
if (nome == nulo ){
throw new exception …
}
%>[/code]
[color=red]
a questão é, por default , se não tem o parametro tNome… ele é null…
logo o teste deveria ser verdadeiro…
[/color]
um outro problema… ainda com o request.getParameter() foi quando resolvi fazer uma calculadora…
nos testes condiçoes tem…
if (op == "+"){
...
}
… a questão é que, sobre circunstância alguma ele executa isso…
que tipo de erro é esse?
será que é questão de tipo de dados?
será que tem algum problema comparar strings?
[/quote]
Errado. Vc esta tentando comparar uma String com uma outra string em que o conteúdo é o valor “null”, o que é bem diferente de comparar com uma referência nula.
Onde se vc fizer
[code]<%
String nome = (String) request.getParameter(“tNome”);
if (nome == null ){
throw new exception …
}
%>[/code]
Complementando a resposta do daniel, use equals() para comparar Strings SE o seu objeto nao for nulo. Ou seja, se voce nao tiver uma instancia criada, a expressao ira resultaar em uma quebra do programa:
String s = null;
/// Esse codigo vai dar quebrar o programa na hora de
// rodar, pois "s" eh null.
if (s.equals("abc")) { ... }
// Esse codigo certifica-se primeiro que a variavel
// nao eh null antes de charmar o equals()
if (s != null && s.equals("abc")) { ... }
// Se voce quer comparar diretamente com algum valor
// especifico, coloque a comparacao em primeiro lugar.
// Dessa forma, voce nao precisa da comparacao com null
if ("abc".equals(s)) { ... }