Java Duvida

3 respostas
J

galera me expliquem esses dois metodos dentro do IF…

public void setModeloTelefone (String modelo){
    	   if (modelo.trim().length() ==0)
    		   this.modelo = modelo;
    	   else
    		   System.out.println ("A propriedade modelo não é nulo");

grato.

3 Respostas

FabricioPJ

O “trim()” tira os espaços em branco e o “length()” retorna o total de caracteres da String “modelo”

Tchello

Pra ser mais específico o “trim()” tira os espaços em branco das extremidades da string.

ViniGodoy

Esse é um teste comum. Ele quer verificar se a string informada contém algum valor.
O problema é que alguém mal intencionado poderia cadastrar uma string como " ", e o java consideraria isso um valor. Por isso o uso do trim(). Entretanto, caso alguém faça isso, o código ainda cadastrará no atributo o espaço, e não o nulo, como era a intenção original.

Note que o método dá pau no caso de strings nulas.

Além disso, após o Java 6, é melhor testar se a string está vazia através do método isEmpty:

Uma versão mais correta poderia ser:

modelo = modelo == null ? "" : modelo.trim(); if (modelo.isEmpty()) this.modelo = modelo; else System.out.println ("A propriedade modelo não é nula");

Agora, pq fazer um teste para só definir valores nulos, é uma ótima pergunta.

Criado 24 de agosto de 2009
Ultima resposta 24 de ago. de 2009
Respostas 3
Participantes 4