Dúvida em Collection

Bom dia pessoal!!! :slight_smile:

Tipo, estou tendo uma dúvida com relação à resposta dada pelo simulador. A questão é essa:

import java.util.*;
public class MapTest {
publis static void main(sTring[] args) {
Object obj = new LinkedHashMap();

if(obj instanceof Collection)
	System.out.println("For");
if(obj instanceof Map)
	System.out.println("A Few");
if(obj instanceof LinkedList)
	System.out.println("Dollars More");
if(obj instanceof HashMap)
	System.out.println("Good Men");

}
}

e a resposta é essa:

    A Few Good Men

Só não entendi o porquê da variável de ref obj continuar a ser analisada depois que entra dentro do if de Map. Pra mim, só imprimiria “A Few”.

Alguém poderia me ajudar com essa dúvida?

Obrigadgo

donatinho 8O

[code]import java.util.*;
public class MapTest {
public static void main(sTring[] args) {
Object obj = new LinkedHashMap();

  if(obj instanceof Collection)
     System.out.println("For");

  if(obj instanceof Map)
     System.out.println("A Few");

  if(obj instanceof LinkedList)
     System.out.println("Dollars More");

  if(obj instanceof HashMap)
     System.out.println("Good Men");

}
}[/code]

Veja que não tem else, então ele vai passar por todos os if’s, não tem nada pra fazer ele parar, e um LinkedHashMap estende HashMap e implementa Map, então vai entrar no 2º e 4º if.

Pra ele parar de avaliar seria isso:

[code]import java.util.*;
public class MapTest {
public static void main(sTring[] args) {
Object obj = new LinkedHashMap();

  if(obj instanceof Collection)
     System.out.println("For");
  else if(obj instanceof Map)
     System.out.println("A Few");
  else if(obj instanceof LinkedList)
     System.out.println("Dollars More");
  else if(obj instanceof HashMap)
     System.out.println("Good Men");

}
}[/code]

Nesse caso será impresso só “A Few”.

Putssssssssssssssssssssssssssss

esqueci deste detalhe!!!

coisas simples que não consegui enxergar, espero que na hora da prova isso não ocorra :slight_smile:

Valeu cara!

donatinho

Fica esperto com isso que os caras da Sun são sacanas… :evil:

:wink: