2013-09-28 3 views
0

У меня есть объектПолучение определенного типа объектов из списка в Java

List<Object> mylist = new ArrayList<Object>(); 
mylist.add(20); 
mylist.add("Banele"); 

и от MyList я хочу только

System.out.println("Banele"); 

означает строку не integer (20)., как я могу это сделать, пожалуйста, помогите мне

+0

Добавить состояние в то время как итерация список .. –

+0

Вообще это плохая идея, чтобы быть создание 'List ' , но вы можете получить доступ к каждому элементу, используя метод get get. – Sinkingpoint

+0

@Quirliom True. Но его проблема заключается в обнаружении типа после того, как он использовал 'get' :) –

ответ

0

Как насчет следующего?

for (Object item : myList) { 
    if (item instanceof String) { 
     // retrieve. 
     String myString = (String) item; 
    } 
} 
3

Проверьте тип объекта, итерации.

for (Object object : mylist) { 
    if(object instanceof String){ 
     System.out.println(object); 
    } 
} 
+1

+1 За то, что понял вопрос xD –

+1

Sharp, это работает, и я понимаю, как это делается –

+1

@BaneleNqeto Great !!. Отметьте это как ответ, если это поможет. –

0

попробовать

for (Object object : mylist) { 
    if(object instanceof String){ 
     System.out.println(object); 
    } 
} 
0

Альтернативой использованию instanceof

for (Object object : mylist) { 
     if(object.getClass().equals(String.class)){ 
      System.out.println(object); 
     } 
    } 
Смежные вопросы