Eu posso fazer este casting?

7 respostas
X

Tenho um método que recebe uma String como parâmetro

void tentar(String chute)

posso fazer um casting deste tipo ao chamá-lo ?

tentar((String) t1.getText())

ou seja, pegando uma palavra digitada pelo usuário num textfield ? E transformando numa String ?

7 Respostas

ddmizu

Se T1.getText() retorna String, vc não precisa nem do cast.

X

Se passar um número ou qq outra coisa do teclado não letra, tb não precisa ?

ddmizu

Perceba:

O parâmetro é uma String. Se vc coloca lá dentro um método que retorna uma String não haverá problema. O método que vc sugeriu é o getText() q retorna uma String e então não haverá problema.

Porém se vc chamesse um getInt() da vida não ia funcionar.

X

Obrigado pela ajuda !

ViniGodoy

Ou coisa...

O tipo da variável é a forma que o computador vai interpretar a variável. Então, para o computador:

String a = "1234";

É totalmente diferente de:

int b = 1234;

Que por sua vez difere de:

double c = 1234;

Em cada caso, o computador interpretará como sendo algo diferente. Para demostrar isso, que tal rodar esse programa?

public class TesteTipos {
    public static void main(String[] args)
    {
        String a = "1234";
        int b = 1234;
        double c = 1234;
        
        System.out.println("Valor de a: " + a);
        System.out.println("Valor de b: " + b);
        System.out.println("Valor de c:"  + c);
        
        System.out.println("Valor de a + a: " + (a + a));
        System.out.println("Valor de b + b: " + (b + b));
    }
}
LPJava

completando a explicacao do grande vinny…

quando envolver " " será string e quando for direto o valor é codigo do tipo passado como:

double d = 1201.4

nao é string… e sim tipos fluantes…

W

como falaram nao tem necessidade neste caso do getText , mas vc pode fazer casting na passagem de argumentos para os metodos, se é oque tu quer saber.

Criado 8 de dezembro de 2007
Ultima resposta 9 de dez. de 2007
Respostas 7
Participantes 5