toString e (String)

4 respostas
G

Qual diferença de usar .toString ou (String) ?

Tenho seguinte método.

public String getName () { return (String)get_Value(COLUMNNAME_Name); }

getValue retorna um objeto. Se uso ele dessa maneira ele da erro
Agora se coloco o get_Value(COLUMNNAME_Name).toString() funciona normalmente.

No caso o método getValue… ta retornando 1000001.

4 Respostas

L

goianinho77:
Qual diferença de usar .toString ou (String) ?

Tenho seguinte método.

public String getName () { return (String)get_Value(COLUMNNAME_Name); }

getValue retorna um objeto. Se uso ele dessa maneira ele da erro
Agora se coloco o get_Value(COLUMNNAME_Name).toString() funciona normalmente.

No caso o método getValue… ta retornando 1000001.

Você não falou, mas provavelmente o erro que está ocorrendo é o ClassCastException.

O método get_Value retorna um Object, mas provavelmente quem cria o objeto retornado pelo método get_Value não
está criando um objeto String, então, quando vc tenta fazer o cast dá erro.

Com o toString() faz uma chamada para retornar o que estiver definido na sua implementação, e por isso funciona, mesmo
se não tiver nada implementado(por vc é claro).

G

É vi aqui, ele ta retornando class java.lang.Integer

ViniGodoy

A diferença é que (String) é um cast. Ou seja, você pegou um objeto genérico, mas sabe que esse objeto é uma String.
Então, vc pode avisar para o java esse fato. Exemplo:

Object x = new String("Vinicius"); //A referência x é do tipo object... Para chamarmos um método que depende de uma string faríamos: metodoQueRecebeString((String)x); //Avisando o que x aponta uma String

Já o toString() é um método que tenta retornar um texto que descreva o objeto. Note que o objeto monta esse texto e, seria responsabilidade dele formata-lo.

Em resumo:
(String) é dizer que o próprio objeto é uma String.
toString() é usado para obter a descrição do objeto, no formato de String.

el_loko

ViniGodoy:
Em resumo:
(String) é dizer que o próprio objeto é uma String.
toString() é usado para obter a descrição do objeto, no formato de String.

Simplesmente isso

Criado 20 de março de 2008
Ultima resposta 22 de mar. de 2008
Respostas 4
Participantes 4