[Resolvido]ClassCast ou Compile Error?

5 respostas
K
Galera to fazendo uns exercicios aqui e me deparei com essa questâo:
Questions no -3 
What is the output for the below code ?
public class Test {

    
    public static void main(String argv[]){
    	 
    	ArrayList list = new ArrayList(); 
    	ArrayList listStr = list; 
    	ArrayList listBuf = list; 
    	listStr.add(0, "Hello"); 
    	StringBuffer buff = listBuf.get(0); 
       System.out.println(buff.toString());
    }

}

options
A)Hello
B)Compile error
C)java.lang.ClassCastException
D)null

Correct answer is : C

Explanations : java.lang.String cannot be cast to java.lang.StringBuffer at the code StringBuffer buff = listBuf.get(0);
So thows java.lang.ClassCastException.

Bom to fazendo ela aqui e tá dando erro de compilação, a resposta está errada? ou eu que estou hehe?

5 Respostas

L

faça isto que elimina o erro de compilação.

StringBuffer buff = (StringBuffer) listBuf.get(0);

porém ao executar, dá o erro que vc informou.

E

Parece uma “questão velha e não revisada”. Uma pista disso é que ele está usando “ArrayList” em vez de “ArrayList”.

K

Pois é acho que é a questão mesmo, sem falar nos erros de inglês da mesma

E

Huh, não tinha visto que ele escreveu “the below code” em vez de “the code below” (o código abaixo). Deve ser isso mesmo :slight_smile: - questões da prova não seriam tão desleixadas assim :slight_smile:

DaniloAndrade

essa questão ta meio pegadinha porque ele ta perguntando qual a saida desse codigo.

a saida seria realmente a resposta C

isso se o código compilar

Criado 24 de abril de 2013
Ultima resposta 24 de abr. de 2013
Respostas 5
Participantes 4