Questão de Generics  XML
Índice dos Fóruns » Certificação Java
Autor Mensagem
marcelo_mococa
Virtual Machine Man
[Avatar]

Membro desde: 03/03/2005 10:03:32
Mensagens: 622
Localização: São Paulo
Offline

Boa Tarde Pessoal.

Estava fazendo o mock do site da caelum e fiquei com uma dúvida.

Veja a pergunta:

1 Collection<Object> c1 = new ArrayList<String>();
2 Collection c2 = new ArrayList<String>();
3 Collection<?> c3 = new ArrayList<String>();
4 Collection<String> c4 = new ArrayList<Object>();
5 Collection<String> c5 = new ArrayList();

Quais linha não compilaram?
Nenhuma, todas compilam sem problemas.
Apenas as linhas 1,3,4,5.
Apenas as linhas 3,4,5.
Apenas as linhas 1,2.
Apenas as linhas 1,4,5

No mock a resposta certa é "Apenas as linhas 1,4,5".

Copie o código e colei no eclipse para testar.
As únicas que não compilaram foram a 1 e 4.

o mock está errado?
Pela lógica parece que a linha 5 não deveria compilar mesmo. Pois é como se eu estivesse atribuindo Collection<String> c5 = new ArrayList<object>(); não é?

Atenciosamente
Marcelo Madeira.


Marcelo Madeira - TCS
SCJP 1.5
SCWCD 1.4
blog

thingol
Moderador

Membro desde: 29/07/2004 16:10:13
Mensagens: 17539
Offline

As linhas que não compilam são a 1 e a 4.

A 5 compila mas dá um warning (ou seja, a linha compila e o código é gerado, mas uma mensagem é apresentada).

Portanto o mock está um pouco confuso.

Eu diria que esse tipo de sutileza (diferenciar entre um erro e um warning) seria explicado melhor na prova: ele perguntaria se a linha tem erros ou warnings, não se tem problemas (poderia ter o "problema" de usar nome de variável curto )

[WWW]
thingol
Moderador

Membro desde: 29/07/2004 16:10:13
Mensagens: 17539
Offline

Aqui eu dou um exemplo do que pode ocorrer se você deixar passar em branco o warning da linha 5.
Mas repito: warning não é erro.

[WWW]
thingol
Moderador

Membro desde: 29/07/2004 16:10:13
Mensagens: 17539
Offline

marcelo_mococa wrote:Instituto Tecnológico da Aeronáutica


Que eu saiba o nome é Instituto Tecnológico de Aeronáutica. Confirme isso em http://www.ita.br.

Note a diferença semântica: "da" quer dizer que é da (Força Armada) Aeronáutica; "de" quer dizer que é de (Tecnologia) Aeronáutica.

Se fosse "da" Aeronáutica, então você precisaria obrigatoriamente ser militar para concluir o curso (era preciso sê-lo para iniciar o curso, depois você passa para a reserva no 3o. ano).






[WWW]
marcelo_mococa
Virtual Machine Man
[Avatar]

Membro desde: 03/03/2005 10:03:32
Mensagens: 622
Localização: São Paulo
Offline

Pois é...
nos outros mocks que estava fazendo, vi que as perguntas diferenciam entre compilar com warning e sem warning.

Sobre o ITA, não sou aluno não, apenas trabalho em um projeto pra receita federal aqui.

Valeu pela ajuda.


Marcelo Madeira - TCS
SCJP 1.5
SCWCD 1.4
blog

 
Índice dos Fóruns » Certificação Java
Ir para:   
Powered by JForum 2.1.8 © JForum Team