Para que serve o trim()

:?: Galr alguem sabe me dizer para que serve este método?
Grato.

No meu tempo, “trim” era aquele aparelhinho que serve para cortar as unhas.

Hoje em dia, ele serve para tirar espaços à esquerda e à direita.

http://www.google.com.br/search?hl=pt-BR&client=firefox-a&hs=15j&rls=org.mozilla%3Apt-BR%3Aofficial&q=java+trim&aq=0&aqi=g2&aql=&oq=+java+trim&gs_rfai=

retira os espaços do início e do fim da String

ex:
" casa " vira “casa”

o Trim() serve para retirar espaços em branco de uma string.

por exemplo:

String palavra = “tenho uma palavra”;

palavra.trim();

sysout(palavra);

o resultado será: “tenhoumapalavra”

e por ai vai,

qualquer duvida manda ae…

flwww

[quote=Giovani_Fiori]o Trim() serve para retirar espaços em branco de uma string.

por exemplo:

String palavra = “tenho uma palavra”;

palavra.trim();

sysout(palavra);

o resultado será: “tenhoumapalavra”

e por ai vai,

qualquer duvida manda ae…

flwww[/quote]

amigo, ensina… .mas ensina certo…
o que você disse está errado…

o trim remove espaços das extremidades da string…
no seu exemplo ficaria “tenho uma palavra” mesmo…

agora se eu sua string for " tenho uma palavra "

ficaria “tenho uma palavra”…

entendeu?

nada de remover espaços dentro do conjunto de palavras…

o trim só tira espaços do início e do fim se não me engano

" tenho uma palavra " vira “tenho uma palavra”

Corrijam-me se estiver errado.

[2]. Acho que estamos ficando velhos.

[2]. Acho que estamos ficando velhos.


[/quote]
kkkkkkkkkkk, eu ri de mais.

[quote=paulovloghan][quote=Giovani_Fiori]o Trim() serve para retirar espaços em branco de uma string.

por exemplo:

String palavra = “tenho uma palavra”;

palavra.trim();

sysout(palavra);

o resultado será: “tenhoumapalavra”

e por ai vai,

qualquer duvida manda ae…

flwww[/quote]

amigo, ensina… .mas ensina certo…
o que você disse está errado…

o trim remove espaços das extremidades da string…
no seu exemplo ficaria “tenho uma palavra” mesmo…

agora se eu sua string for " tenho uma palavra "

ficaria “tenho uma palavra”…

entendeu?

nada de remover espaços dentro do conjunto de palavras…[/quote]

amigo!

leia a especificação!!

o metodo retorna a copia da String com os espaços em branco removidos ou seja, faça o teste antes de corrigir sem ter certeza do que está falando…

segue a especificação no site da oracle

trim

public String trim()

Returns a copy of the string, with leading and trailing whitespace omitted.

If this String object represents an empty character sequence, or the first and last characters of character sequence represented by this String object both have codes greater than '\u0020' (the space character), then a reference to this String object is returned.

Otherwise, if there is no character with a code greater than '\u0020' in the string, then a new String object representing an empty string is created and returned.

Otherwise, let k be the index of the first character in the string whose code is greater than '\u0020', and let m be the index of the last character in the string whose code is greater than '\u0020'. A new String object is created, representing the substring of this string that begins with the character at index k and ends with the character at index m-that is, the result of this.substring(k, m+1).

This method may be used to trim whitespace (as defined above) from the beginning and end of a string.

Returns:
    A copy of this string with leading and trailing white space removed, or this string if it has no leading or trailing white space.

Caro Giovani_Fiori, vc chegou a testar o método trim? Apesar de não estar muita claro na especificaçao, mas o trim remove os espacos em branco apenas no início e no fim da String, como foi dito nas respostas deste post.

teste e tire suas conclusões:

String st = " como funciona o método trim() "; 
                System.out.println(st .length()); // tamanho da string sem o trim
                System.out.println(st .trim().length()); //tamanho da string após a chamada do método trim

[quote]Returns a copy of the string, with leading and trailing whitespace omitted.

This method may be used to trim whitespace (as defined above) from the beginning and end of a string.

Returns:
A copy of this string with leading and trailing white space removed, or this string if it has no leading or trailing white space. [/quote]
Não acho que o javadoc não esteja claro.

Imagine que o usuario digite isso num campo de seu sistema:

"aaa          bbb            ccc            ddd                                             eeeeee                  "

Se vc pegar essa string desse jeito pra gravar no banco de dados vc vai guardar todos os espaços em branco.
É nessa hora que vc deve usar o trim:

"aaa          bbb            ccc            ddd                                             eeeeee                  ".trim();

e o resultado é esse:

"aaa bbb ccc ddd eeeeee"

Outro exemplo:
Imagine que o usuario coloca apenas um monte de espaços:

 "                       "

E vc deve deixar o campo nulo no banco de dados se o usuario não informar nenhum valor;
Vc teré que verificar se o text do componente esta isEmpty() (ou seja, limpo), mas se vc simplesmente fizer a comparação assim:

sua_string.isEmpty()

o retorno será sempre falso, pois o há uma string contendo um monte de espaços.
Para resolver o problema vc deve fazer assim:

sua_string.trim().isEmpty()

E o retorno seria verdadeiro pois a string estará vazia porque o .trim retorna isso “”;

Espero que tenha esclarecido.