Beleza mocada?
Minha dúvida é a seguinte, tenho o código:
String s1 = "abcd";
StringBuffer sb1 = new StringBuffer("abcd");
int val = 6;
System.out.println(s1 + val);
System.out.println(sb1 + val);
A resposta é:
“O código falha na compilação porque a conversão para um tipo String não é aplicada a StringBuffer.”
Mas a classe StringBuffer também possui o método public String toString() e sempre que tenho um objeto dentro de um System.out.print o toString() é chamado implicitamente.
Então, o que está errado?
donatinho
O problema é que você não está passando o StringBuffer para o println(), você está passando para o +, e + só aceita tipos primitivos ou String, você não pode “somar” ou “concatenar” dois objetos quaisquer, somente String, o + não chama o toString() automaticamente, seria como fazer isso:
[code]JButton btn = new JButton();
JButton btn2 = new JButton();
btn+bnt2; //hã???[/code]
pra funcionar teria que ser isso:
8O
Cara, valeu pela aula, realmente não sabia isso!!!
E o pior que eu pensava que dominava java antes de fazer a prova para a certificação.
Abraços
donatinho
